diff --git a/.github/pages/mkdocs.yml b/.github/pages/mkdocs.yml index 1628be4d..61a3fdab 100644 --- a/.github/pages/mkdocs.yml +++ b/.github/pages/mkdocs.yml @@ -22,9 +22,52 @@ theme: - search.highlight - content.code.copy +nav: + - Home: + - Home: index.md + - Getting Started: + - Installation: getting-started/installation.md + - Quick Start: getting-started/quickstart.md + - When to Use QF Solver: getting-started/when-to-use-qf-solver.md + - Capabilities: + - Overview: capabilities/index.md + - Elements: elements/index.md + - Analyses: analyses/index.md + - Solvers & Backends: solveurs/index.md + - Known Limitations: etat/limites.md + - Examples: + - Overview: examples/index.md + - Demonstrations: demonstrations/index.md + - Verification & Validation: + - V&V and Maturity: verification/evidence-and-maturity.md + - Current 0.2.8 Verification: verification/0_2_8/README.md + - Benchmarks: benchmarks/index.md + - Historical Evidence: + - 0.2.7 Verification: verification/0_2_7/README.md + - API: + - Public API Contract: reference/qf_solver_api.md + - API Stability: reference/api_stability.md + - Comparisons: + - Overview: comparisons/index.md + - Python FEM Solvers: comparisons/python-fem-solvers.md + - QF Solver vs CalculiX: comparisons/qf-vs-calculix.md + - QF Solver vs Code_Aster: comparisons/qf-vs-code-aster.md + - QF Solver vs scikit-fem: comparisons/qf-vs-scikit-fem.md + - QF Solver vs SfePy: comparisons/qf-vs-sfepy.md + - Project: + - What's New 0.2.8: whats-new/0.2.8.md + - Roadmap: reference/feuille_de_route.md + plugins: - search +# The source tree retains historical engineering pages whose references may +# target qualification artifacts outside the published documentation tree. +# Navigation paths are checked separately in the public-site guard below. +validation: + links: + not_found: info + markdown_extensions: - admonition - attr_list diff --git a/.github/workflows/docs-tests.yml b/.github/workflows/docs-tests.yml index e6d4c9dd..f20082de 100644 --- a/.github/workflows/docs-tests.yml +++ b/.github/workflows/docs-tests.yml @@ -20,6 +20,10 @@ on: - "tests/documentation/**" - "scripts/docs_publication.py" - ".github/workflows/docs-tests.yml" + +permissions: + contents: read + jobs: docs-tests: runs-on: ubuntu-latest @@ -42,6 +46,9 @@ jobs: run: | python -m pytest tests/documentation/test_docs_generation.py -q + - name: MkDocs strict build + run: mkdocs build --strict -f .github/pages/mkdocs.yml + - name: Run packaging tests run: | python -m pytest tests/integration/test_packaging.py -q diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index c64245c6..3b5d610e 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -11,8 +11,6 @@ on: - ".github/workflows/pages.yml" permissions: contents: read - pages: write - id-token: write concurrency: group: pages @@ -20,6 +18,9 @@ concurrency: jobs: build: + if: github.ref == 'refs/heads/main' + permissions: + contents: read runs-on: ubuntu-latest steps: @@ -48,6 +49,10 @@ jobs: path: site/ deploy: + if: github.ref == 'refs/heads/main' && needs.build.result == 'success' + permissions: + pages: write + id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index b9fcd417..082ff650 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -104,7 +104,10 @@ jobs: with: name: python-package-distributions path: dist/ - - uses: pypa/gh-action-pypi-publish@release/v1 + # Pin the publication action to the current release/v1 commit. PyPI + # publication remains gated by the tag/version check and confirmation + # input above; this is not a branch or pull-request publication path. + - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index eab4fe0d..7961fb01 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -25,6 +25,8 @@ jobs: python: ["3.10", "3.13"] steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} @@ -79,6 +81,8 @@ jobs: needs: standard-baseline steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/setup-python@v5 with: python-version: "3.13" diff --git a/CHANGELOG.md b/CHANGELOG.md index a503d7ee..f9a93c8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,68 @@ # Changelog +## 0.2.8 - Unreleased + +This section records the current QF Solver 0.2.8 candidate. Publication is +`NOT_PUBLISHED_YET`; DOI status is `NOT_AVAILABLE_YET`; no release date is +assigned. + +### Added + +- Separate bounded mixed TET4/WEDGE6/HEX8 workflow records for static, modal, + translational MPC and multi-material analyses. +- Experimental bounded mixed Newmark and harmonic workflow records. +- Separate experimental bounded capability records for the documented + Abaqus/CalculiX `.inp` subset, family-aware mixed-HDF5 result storage, + frictionless contact and HEX8-SRI. +- A public capability index linking the element-analysis registry, mixed + workflows, separate capabilities and internal/research routes. + +### Improved + +- The public `qf_solver` facade, optional HDF5 integration and package metadata + are documented for the 0.2.8 candidate. +- Release-surface checks keep optional `h5py` support out of the base import + path and retain explicit errors when HDF5 is requested without its extra. + +### Verification and qualification + +- The element-analysis registry remains unchanged at 32 + `QUALIFIED_BOUNDED`, 14 `EXPERIMENTAL`, 0 `NOT_QUALIFIED` and 46 records. +- Mixed static, modal, translational MPC and multi-material routes remain + `QUALIFIED_BOUNDED` within their recorded serial scopes. +- Mixed Newmark and harmonic evidence remains `EXPERIMENTAL_BOUNDED` within + the documented serial model, damping, loading and timestep/frequency scope. +- The release candidate retains prospective contracts, frozen gates, replay, + failure-case and evidence-integrity checks for the recorded workflows. + +### API and packaging + +- The `qf_solver` namespace is the documented public facade; the historical + `solveur` namespace remains a compatibility surface. +- `read_inp(path)` remains `PROVISIONAL`, and HDF5 support remains an optional + extra rather than a base installation requirement. +- Candidate package metadata is aligned to version `0.2.8`; publication and + DOI creation remain separate owner actions. + +### Documentation + +- Current capability, maturity, limitation, V&V, installation and release + preparation pages are linked from the public documentation surface. +- Historical 0.2.7 evidence and benchmarks remain explicitly historical and + are not reclassified as 0.2.8 mixed-HPC evidence. + +### Known limitations + +- The generic mixed distributed PETSc/MPI architecture is recorded, but its + runtime remains `NOT_VALIDATED`: the latest campaign still fails the + force-balance and three-rank partition-consistency gates. +- No distributed mixed, production-HPC, universal scalability or general + nonlinear-production claim is made. +- Geometric nonlinear work remains `RESEARCH_ONLY`; PYRAMID5 remains + `INTERNAL` / `RESEARCH_ONLY`; MITC4 modal remains `EXPERIMENTAL`. +- The `.inp`, mixed-HDF5, frictionless-contact and HEX8-SRI capabilities keep + their documented bounded scopes and limitations. + ## 0.2.7 - 2026-09-04 QF Solver 0.2.7 freezes the reproducible large-model solving and numerical diff --git a/CITATION.cff b/CITATION.cff index a57aa753..1c9b8cd9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,8 +1,10 @@ cff-version: 1.2.0 message: "If you use QF Solver, please cite the software and its release version." +# Publication status: NOT_PUBLISHED_YET +# DOI status: NOT_AVAILABLE_YET type: software title: "QF Solver" -version: "0.2.7" +version: "0.2.8" license: "Apache-2.0" authors: - family-names: "Farinazzo" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d222840..742ba71e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,12 +6,22 @@ QF Solver is an open-source finite-element solver focused on structural mechanic transparent numerical formulations, reproducible verification, and explicit capability boundaries. -QF Solver has its roots in a personal FEM solver project I started back in 2024. It has changed a lot since then and eventually evolved into the current QF Solver project. I still haven't had the time to put everything on GitHub, because I'm kind of mixing new upgrades with older parts of the original project as I go. +QF Solver grew from an earlier personal FEM codebase and has since been +consolidated as the current public project. Historical origins do not change +the current source, verification, contribution or release policies. Contributions are welcome, including bug fixes, documentation improvements, new examples, tests, numerical methods, solver improvements, and verification cases. +## Current release state + +The repository currently targets QF Solver `0.2.8-development` in release +preparation. It is not published or tagged as 0.2.8 yet. The public +[capability index](docs/capabilities/index.md) and [V&V/maturity guide](docs/verification/evidence-and-maturity.md) +define the current bounded scope; historical 0.2.7 evidence must remain +unchanged. + Because QF Solver is numerical engineering software, changes that affect results need a little more care than ordinary application code. diff --git a/MANIFEST.in b/MANIFEST.in index 8a19bd23..2a382d7f 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -8,6 +8,15 @@ include qualification/element_analysis_matrix.json include qualification/formulas.json include qualification/requirements.json include qualification/technical_content_coverage.json +include qualification/0_2_8/consolidated_registry.json +include qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json +include qualification/0_2_8/wp13_02d_mixed_dynamics_delivery.json +include qualification/0_2_8/wp13_03d_mixed_mpc_owner_delivery.json +include qualification/0_2_8/wp13_04d_multimaterial_owner_delivery.json +include qualification/0_2_8/wp13_05_inp_import_capability_record.json +include qualification/0_2_8/wp13_05c_registry_reconciliation_erratum.json +include qualification/0_2_8/wp13_06d_mixed_hdf5_capability_record.json +include qualification/0_2_8/wp13_07d_contact_capability_record.json include requirements/baseline-standard.txt include requirements/baseline-large-linux.txt global-exclude __pycache__ *.py[cod] diff --git a/OPEN_SOURCE_READINESS.md b/OPEN_SOURCE_READINESS.md index d9dad8de..47ca00db 100644 --- a/OPEN_SOURCE_READINESS.md +++ b/OPEN_SOURCE_READINESS.md @@ -1,7 +1,15 @@ -# QF Solver 0.2.7 Open Source Readiness +# QF Solver 0.2.8 Open Source Readiness This section records the current public release-readiness state for QF Solver -0.2.7. It is distinct from the historical snapshots below. +0.2.8 in preparation. It is not a publication or tag record and is distinct +from the historical snapshots below. + +Current candidate metadata: + +- Version: `0.2.8` +- Publication status: `NOT_PUBLISHED_YET` +- Release/tag status: `NOT_CREATED` +- DOI status: `NOT_AVAILABLE_YET` ## Current public gates @@ -12,8 +20,8 @@ This section records the current public release-readiness state for QF Solver BY 4.0. - [x] README, installation and Quick Start documentation are present. - [x] CONTRIBUTING, SECURITY, SUPPORT and CODE_OF_CONDUCT are present. -- [x] Version `0.2.7` is coherent across the public release documentation and - package metadata. +- [x] Candidate version `0.2.8` is coherent across the public release + documentation and package metadata. - [x] Wheel and sdist build and clean-install checks are controlled by CI. - [x] Public-source, release-archive and reachable-history audits are available. diff --git a/PUBLIC_RELEASE_POLICY.md b/PUBLIC_RELEASE_POLICY.md index 5bd55b6c..fbe18755 100644 --- a/PUBLIC_RELEASE_POLICY.md +++ b/PUBLIC_RELEASE_POLICY.md @@ -12,6 +12,27 @@ kept out of the public archive. Owner review decisions may identify Quentin Farinazzo where authorship or accountability is required; they must not include contact details beyond the public repository profile. +## Candidate Metadata + +The current source candidate is QF Solver `0.2.8`. Its publication status is +`NOT_PUBLISHED_YET`, its release/tag status is `NOT_CREATED`, and its DOI status +is `NOT_AVAILABLE_YET`. These labels describe release state only; they do not +change any capability maturity or V&V result. + +## Content Classification + +The public release may include reviewed, controlled V&V contracts, selected qualification records, +Owner/delivery decisions and evidence manifests when +they are needed to substantiate a public claim. Inclusion requires review of +scope, provenance, licensing and confidentiality. Large raw arrays, temporary +runtime outputs, private models, local environment fingerprints and internal +execution logs remain excluded unless a separate review explicitly selects a +safe, reproducible artifact. + +Ephemeral files, caches, debug traces, private or confidential material, +credentials and secrets are never release content. An archive exclusion is not +permission to commit such material, and it is not an access-control mechanism. + ## Repository Boundary A public Git repository exposes every committed file and its reachable history. diff --git a/README.md b/README.md index 259e5caa..cb70c856 100644 --- a/README.md +++ b/README.md @@ -1,82 +1,99 @@ # QF Solver -**An inspectable Python finite-element solver for structural mechanics.** +[![Python](https://img.shields.io/pypi/pyversions/qf-solver.svg)](https://pypi.org/project/qf-solver/) +[![PyPI](https://img.shields.io/pypi/v/qf-solver.svg)](https://pypi.org/project/qf-solver/) +[![License](https://img.shields.io/github/license/emptiesvoid-cloud/QF_solver.svg)](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/LICENSE) +[![Documentation](https://img.shields.io/badge/docs-GitHub%20Pages-2f80ed.svg)](https://emptiesvoid-cloud.github.io/QF_solver/) +[![CI](https://github.com/emptiesvoid-cloud/QF_solver/actions/workflows/quality.yml/badge.svg)](https://github.com/emptiesvoid-cloud/QF_solver/actions/workflows/quality.yml) -QF Solver provides white-box finite-element formulations, numerical diagnostics -and reproducible verification evidence. Support is always scoped by element, +Python FEM/FEA solver for structural mechanics and dynamics, with inspectable +formulations, reproducible V&V and bounded large-model workflows. + +QF Solver is deliberately evidence-led: support is scoped by element, analysis, material, mesh, loading and solver route. A passing example is not a universal qualification. -## Install - -```bash -pip install qf-solver -``` - -**QF Solver** is a Python FEM/FEA solver for structural mechanics and dynamics, -with transparent formulations, reproducible V&V, and optional PETSc/MPI -large-scale solving. - -[Documentation](https://emptiesvoid-cloud.github.io/QF_solver/) · -[When to use QF Solver](https://emptiesvoid-cloud.github.io/QF_solver/getting-started/when-to-use-qf-solver/) · -[Compare FEM solvers](https://emptiesvoid-cloud.github.io/QF_solver/comparisons/) -[Benchmarks](https://emptiesvoid-cloud.github.io/QF_solver/benchmarks/) - -## Capabilities - -| Capability | Public status | Scope | -| --- | --- | --- | -| Linear static | `QUALIFIED_BOUNDED` | Recorded elastic element and load combinations. | -| Small-strain J2 | `QUALIFIED_BOUNDED` | TET4, TET10, HEX8 and HEX20 within the documented small-strain scope. | -| Modal, Newmark and harmonic | `SUPPORTED_WITH_LIMITATIONS` | Controlled linear cases with route-specific evidence. | -| Linear buckling | `SUPPORTED_WITH_LIMITATIONS` | Bounded family-specific sparse cases; no post-buckling claim. | -| Frictionless contact | `SUPPORTED_WITH_LIMITATIONS` | Bounded node-to-triangle cases; friction is outside this claim. | -| WEDGE6 static | `EXPERIMENTAL` | Controlled small-strain elastic vertical-slice workflow only. | -| WEDGE6 modal | `QUALIFIED_BOUNDED` | Homogeneous isotropic consistent-mass route, first three modes, declared scope only. | -| Large-model PETSc/MPI | `SUPPORTED_WITH_LIMITATIONS` | Recorded structured TET4 workloads and pinned environments only. | - -The active combination matrix is in -[`docs/verification/0_2_7/0_2_7_capability_matrix.md`](docs/verification/0_2_7/0_2_7_capability_matrix.md). -It is the authoritative guide to what a particular combination means. +On this page: [Why QF Solver?](README.md#why-qf-solver) · +[Intended use](README.md#intended-use) · +[Installation](README.md#installation) · [Quick start](README.md#quick-start) · +[Main capabilities](README.md#main-capabilities) · +[Verification](README.md#verification-and-maturity) · +[Performance](README.md#performance-context) · [Limitations](README.md#limitations) · +[Documentation](README.md#documentation) · +[Contributing](README.md#contributing-citation-and-license) + +## Why QF Solver? + +- Python-native API and inspectable finite-element implementations. +- Numerical diagnostics intended to make assumptions and failure modes visible. +- Reproducible verification evidence with explicit capability maturity. +- Optional integrations for bounded HDF5 and documented large-model workflows; + mixed distributed PETSc/MPI remains not validated. + +## Project status + +| Item | Status | +| --- | --- | +| Release line | `0.2.8` | +| Development stage | Beta | +| Python | `>=3.10` | +| CI validation | Windows and Linux | +| License | Apache-2.0 | +| Documentation | [Online documentation](https://emptiesvoid-cloud.github.io/QF_solver/) | + +Release availability is authoritative on [PyPI](https://pypi.org/project/qf-solver/) +and [GitHub Releases](https://github.com/emptiesvoid-cloud/QF_solver/releases). +This page describes the `0.2.8` release line and does not make a transient +publication-state claim. Citation metadata, including any DOI if one is +assigned, is authoritative in [`CITATION.cff`](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/CITATION.cff). + +## Intended use + +QF Solver is designed for inspectable structural FEM, engineering prototyping +and reproducible V&V. It is not presented as a certified solver, a universal +nonlinear solver or a replacement for a commercial general-purpose FEA +package. ## Installation -For the stable source release: +For a published package: -```powershell -git clone https://github.com/emptiesvoid-cloud/QF_solver.git -Set-Location QF_solver -git checkout v0.2.7 -python -m pip install . +```bash +python -m pip install qf-solver qf-solver --version ``` -When the package is available from the package index, the equivalent user -installation is: +To install a repository checkout (for example, the pre-publication branch +during development): -```powershell -python -m pip install qf-solver +```bash +git clone --branch 0.2.8-pre-publication https://github.com/emptiesvoid-cloud/QF_solver.git +cd QF_solver +python -m pip install . qf-solver --version ``` -Optional development and integration extras are documented in -[`docs/getting-started/installation.md`](docs/getting-started/installation.md). -PETSc, MPI and SLEPc are optional integrations and are not required for the -core import or the standard small examples. +Use the matching release tag or source archive when one is published. Optional +development and integration extras are described in the +[installation guide](https://emptiesvoid-cloud.github.io/QF_solver/getting-started/installation/). +HDF5, PETSc, MPI and SLEPc remain optional integrations and are not required +for the core import or standard small examples. + +## Quick start -## Quick start: CLI +### Command line From the repository root, run the maintained TET4 example: -```powershell -qf-solver check-mesh --input .\examples\tet4_static.json -qf-solver solve --input .\examples\tet4_static.json --output .\results\tet4.json +```bash +qf-solver check-mesh --input examples/tet4_static.json +qf-solver solve --input examples/tet4_static.json --output results/tet4.json ``` -The full first-calculation guide is -[`docs/getting-started/quickstart.md`](docs/getting-started/quickstart.md). +See the [first-calculation guide](https://emptiesvoid-cloud.github.io/QF_solver/getting-started/quickstart/) +for the complete workflow. -## Quick start: Python +### Python Use the public `qf_solver` namespace: @@ -90,77 +107,117 @@ save_result(result, "results/tet4.json") ``` The historical `solveur` namespace remains available for compatibility. New -applications should use `qf_solver`; see -[`docs/reference/api_stability.md`](docs/reference/api_stability.md). - -## Elements and analyses +applications should use `qf_solver`; see the +[API stability guide](https://emptiesvoid-cloud.github.io/QF_solver/reference/api_stability/). -The public element summary is in -[`docs/elements/index.md`](docs/elements/index.md), and the analysis summary is -in [`docs/analyses/index.md`](docs/analyses/index.md). +A successful maintained example writes the requested JSON result file and +returns a passing solve status. Inspect the result object or JSON for +displacements and derived result fields; model-specific stresses, reactions +and diagnostics remain subject to the documented route scope. -The current release includes bounded routes for TET4, TET10, HEX8 and HEX20, -along with case-bounded shell, beam and discrete paths. The status is explicit: -WEDGE6 static remains experimental. WEDGE6 modal qualification does not transfer to static, -nonlinear or other dynamic analyses. +## Main capabilities -## Measured performance +The public status model is bounded and route-specific. The +[central capability index](https://emptiesvoid-cloud.github.io/QF_solver/capabilities/) +links each status to its evidence and limitations. -The published performance evidence is bounded, not a universal scaling law: +**At a glance:** solids include TET4, TET10, HEX8, HEX20 and WEDGE6; the +repository also contains BEAM2 and MITC3/MITC4 shell routes. Main analyses are +static, modal and buckling, with mixed Newmark/harmonic dynamics remaining +experimental-bounded. Geometric nonlinearity and PYRAMID5 are research or +internal paths, and mixed distributed PETSc/MPI is not validated. -| Workload | Recorded result | Boundary | +| Capability | Status | Boundary | +| --- | --- | --- | +| Linear static and small-strain solid routes | `QUALIFIED_BOUNDED` | Recorded element/material/load combinations only. | +| WEDGE6 static | `QUALIFIED_BOUNDED` | Documented Gmsh Prism 6 static scope. | +| WEDGE6 modal | `QUALIFIED_BOUNDED` | Documented homogeneous consistent-mass modal scope. | +| Mixed static, modal, translational MPC and multi-material | `QUALIFIED_BOUNDED` | Connected conforming serial TET4/WEDGE6/HEX8 workflows. | +| Mixed Newmark and harmonic | `EXPERIMENTAL_BOUNDED` | Connected serial TET4/WEDGE6/HEX8 frozen dynamic cases. | +| Bounded Abaqus/CalculiX `.inp` subset | `EXPERIMENTAL_BOUNDED` | Documented subset; not general format compatibility. | +| Family-aware mixed HDF5 results | `EXPERIMENTAL_BOUNDED` | Opt-in schema 1.0 storage and selective reads. | +| Frictionless contact | `EXPERIMENTAL_BOUNDED` | Penalty node-to-triangle, bounded small-sliding cases. | +| HEX8-SRI | `EXPERIMENTAL_BOUNDED` | Locking-sensitive linear-elastic capability; not locking-free. | +| MITC4 modal | `EXPERIMENTAL` | Experimental route with its recorded scope. | +| Mixed distributed PETSc/MPI | `NOT_VALIDATED` | Architecture evidence only; no validated runtime claim. | +| PYRAMID5 | `INTERNAL` / `RESEARCH_ONLY` | Internal feasibility path; not a supported public element. | + +The authoritative [0.2.8 element-analysis registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/b706795a8d7d2d8e64df4ec669e343ef1a666ead/qualification/0_2_8/consolidated_registry.json) +contains 32 `QUALIFIED_BOUNDED`, 14 `EXPERIMENTAL`, 0 `NOT_QUALIFIED` and 46 +records. Mixed workflows and separate capabilities are not added to those 46 +records. Release-specific evidence links in this page are pinned to the exact +`0.2.8` candidate commit; project-global links may follow the project default +branch. + +## Verification and maturity + +Qualification records use prospective contracts, frozen gates, reproducible +evidence, replay checks and failure cases. The maturity labels mean: + +- `QUALIFIED_BOUNDED`: frozen gates passed within the declared scope; not a universal claim. +- `EXPERIMENTAL_BOUNDED`: usable route with bounded evidence and explicit limitations. +- `EXPERIMENTAL`: evidence exists, but the route remains below bounded qualification. +- `RESEARCH_ONLY`: discovery or feasibility work; no production support claim. +- `NOT_VALIDATED`: implementation or architecture exists, but required runtime evidence is absent or failed. +- `INTERNAL`: not part of the supported public surface. + +Read the [V&V and maturity model](https://emptiesvoid-cloud.github.io/QF_solver/verification/evidence-and-maturity/) +and the [0.2.8 verification summary pinned to the candidate commit](https://github.com/emptiesvoid-cloud/QF_solver/tree/b706795a8d7d2d8e64df4ec669e343ef1a666ead/docs/verification/0_2_8/). + +## Performance context + +Recorded large-model results are historical, bounded evidence for structured +TET4 workloads in documented PETSc/MPI environments: + +| Workload | Recorded context | Boundary | | --- | --- | --- | -| 1,029,000 DOF | Two stable PETSc replays | Structured TET4, recorded host and MPI container. | -| 3,000,000 DOF | Two Silver replays plus bounded Gold Compute evidence | Same frozen PETSc/CG/GAMG route. | -| 5,012,640 DOF | Bronze and two complete 5M Silver replays | 9,773,946 TET4 elements, recorded 8-rank environment. | -| 10,125,000 DOF | C3 `PASS_WITH_LIMITATIONS` evidence | Complete solve evidence exists; deeper scaling analysis remains bounded. | +| ~1.029M DOF | Two stable PETSc replays | Structured TET4 only. | +| ~3M DOF | Silver replays and bounded Gold evidence | Same recorded route and environment. | +| ~5.01264M DOF | Bronze and two complete 5M Silver replays | Structured TET4, recorded 8-rank environment. | +| ~10M DOF | Bounded C3 capacity/solve context | Not a universal scaling guarantee. | No claim of GPU, general HPC, hardware-independent scaling, mixed-mesh support -or a general nonlinear performance claim is made. - -## Main limitations - -- WEDGE6 static is experimental; WEDGE15 and PYRAMID5 are not supported. -- Mixed TET/WEDGE/HEX workflows and next-generation HEX8R/SRI/B-bar paths are - deferred or research-only. -- Finite-kinematic J2, generalized nonlinear, contact and finite-sliding routes - remain experimental or outside the qualified scope. -- 5M Gold and deeper 10M scaling analysis are deferred. -- Code_Aster correlation is bounded to comparable recorded cases. CalculiX is - `NOT_COMPARABLE` where conventions or observables do not match strictly. -- Linux and Windows evidence is available in the recorded test matrix; macOS - and some Python versions remain unverified and are not claimed as tested. - -## Documentation and verification - -- [Getting started](docs/getting-started/quickstart.md) -- [Elements](docs/elements/index.md) -- [Analyses](docs/analyses/index.md) -- [Solvers and backends](docs/solveurs/index.md) -- [Public roadmap](docs/reference/feuille_de_route.md) -- [0.2.7 verification summary](docs/verification/0_2_7/README.md) -- [API stability](docs/reference/api_stability.md) -- [Detailed changelog](CHANGELOG.md) - -QF Solver distinguishes `IMPLEMENTED`, `TESTED`, `VERIFIED`, -`EXTERNALLY_VALIDATED`, `QUALIFIED` and `EXPERIMENTAL`. The detailed evidence -pack preserves the exact inputs, outputs, manifests and source references used -for each recorded result. - -No claim of certification or universal physical validation is made. - -## Contributing, license and citation +or general nonlinear scaling is made. The mixed distributed PETSc/MPI runtime +remains `NOT_VALIDATED`. + +## Limitations + +- General nonlinear dynamics and finite-kinematic material routes are not production-qualified. +- PYRAMID5 is internal/research only; WEDGE15 is not supported. +- MITC4 modal remains `EXPERIMENTAL`. +- HEX8-SRI remains `EXPERIMENTAL_BOUNDED`, not locking-free or universally robust. +- The `.inp` reader supports a bounded Abaqus/CalculiX subset only. +- Contact is limited to the documented frictionless penalty node-to-triangle scope. +- Mixed Newmark and harmonic are bounded linear serial workflows. +- Mixed distributed PETSc/MPI is `NOT_VALIDATED`; no partial-rank or general distributed claim is made. + +See the dedicated [limitations page](https://emptiesvoid-cloud.github.io/QF_solver/etat/limites/) +and [solver/backend notes](https://emptiesvoid-cloud.github.io/QF_solver/solveurs/). + +## Documentation + +- [Getting started](https://emptiesvoid-cloud.github.io/QF_solver/getting-started/quickstart/) +- [Capability index](https://emptiesvoid-cloud.github.io/QF_solver/capabilities/) +- [Elements](https://emptiesvoid-cloud.github.io/QF_solver/elements/) +- [Analyses](https://emptiesvoid-cloud.github.io/QF_solver/analyses/) +- [What's New in 0.2.8](https://emptiesvoid-cloud.github.io/QF_solver/whats-new/0.2.8/) +- [Benchmarks](https://emptiesvoid-cloud.github.io/QF_solver/benchmarks/) +- [V&V and maturity](https://emptiesvoid-cloud.github.io/QF_solver/verification/evidence-and-maturity/) +- [API stability](https://emptiesvoid-cloud.github.io/QF_solver/reference/api_stability/) +- [Historical 0.2.7 verification](https://emptiesvoid-cloud.github.io/QF_solver/verification/0_2_7/) +- [Detailed changelog](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/CHANGELOG.md) + +## Contributing, citation and license Development setup and quality checks are described in -[`CONTRIBUTING.md`](CONTRIBUTING.md). The software is distributed under the -[Apache License 2.0](LICENSE); documentation and original examples are under -[`CC BY 4.0`](LICENSE-DOCS). Third-party terms are listed in -[`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md). See -[`CITATION.cff`](CITATION.cff) for citation metadata. +[CONTRIBUTING.md](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/CONTRIBUTING.md). +QF Solver is distributed under the +[Apache License 2.0](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/LICENSE); +documentation and original examples are under +[CC BY 4.0](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/LICENSE-DOCS). +Third-party terms are listed in +[THIRD_PARTY_LICENSES.md](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/THIRD_PARTY_LICENSES.md). +For citation metadata, see +the [CITATION.cff file](https://github.com/emptiesvoid-cloud/QF_solver/blob/main/CITATION.cff). -Documentation contributors can build the controlled evidence locally with: - -```powershell -python .\scripts\build_docs.py --profile engineering -python .\scripts\build_technical_latex.py -``` +No claim of certification or universal physical validation is made. diff --git a/SECURITY.md b/SECURITY.md index 2b0156f1..5175da00 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,10 +2,18 @@ ## Supported Versions -0.2.7 = supported -older releases = not actively supported +| Version or channel | Security support | +| --- | --- | +| Latest published release | Best-effort security support. | +| Current `0.2.8` pre-publication candidate | Security fixes may be accepted during release preparation; it is not a published release. | +| Older releases | Best effort only; not actively supported. | -Support is provided on a best-effort basis. +Support is provided on a best-effort basis. A security fix for the current +candidate does not imply that the candidate has been released, certified or +qualified for a broader technical scope. + +Current candidate publication status: `NOT_PUBLISHED_YET`. DOI status: +`NOT_AVAILABLE_YET`. ## Reporting diff --git a/SUPPORT.md b/SUPPORT.md index d02d9b14..d49dc402 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -7,6 +7,11 @@ Support is best-effort. QF_solver is not certified software and does not replace an engineer's independent model review, boundary-condition review, mesh-quality assessment or validation against the intended application. +The latest published release is the normal support reference. The current +`0.2.8` source candidate is still `NOT_PUBLISHED_YET`; questions about it should +include the exact source revision when reproducibility matters. Older releases +are supported on a best-effort basis and are not actively maintained by default. + The project owner triages public issues and private security reports. The target acknowledgement time is 14 calendar days on a best-effort basis; this is not a service-level agreement. Security reports follow `SECURITY.md` and diff --git a/THIRD_PARTY_LICENSES.md b/THIRD_PARTY_LICENSES.md index db70460e..0177b356 100644 --- a/THIRD_PARTY_LICENSES.md +++ b/THIRD_PARTY_LICENSES.md @@ -13,9 +13,25 @@ distributed by each upstream project. | SciPy | sparse matrices and numerical solvers | [SciPy license](https://github.com/scipy/scipy/blob/main/LICENSE.txt) | | Matplotlib | plots and generated figures | [Matplotlib license](https://matplotlib.org/stable/project/license.html) | -Optional integrations such as Gmsh, h5py, mpi4py and PETSc/petsc4py must be -reviewed with the exact version installed before redistribution. They are not -relicensed by QF_solver. +## Optional integrations and documentation tooling + +The following packages are optional integrations or documentation tooling. Their +upstream terms remain applicable; the exact installed version must be reviewed +before redistribution. They are not relicensed by QF_solver. + +| Component | Extra/use | Upstream reference | +| --- | --- | --- | +| Gmsh | `mesh` and documentation mesh examples | [Gmsh](https://gmsh.info/) | +| h5py | `hdf5` and `large` result storage | [h5py](https://github.com/h5py/h5py) | +| mpi4py | `large`/`hpc` MPI bindings | [mpi4py](https://github.com/mpi4py/mpi4py) | +| PETSc / petsc4py | `large`/`hpc` sparse solver bindings | [PETSc](https://petsc.org/) and [petsc4py](https://gitlab.com/petsc/petsc4py) | +| SLEPc / slepc4py | `hpc` eigensolver bindings | [SLEPc](https://slepc.upv.es/) and [slepc4py](https://gitlab.com/slepc/slepc4py) | +| MkDocs | `docs` public-site builder | [MkDocs](https://www.mkdocs.org/) | +| Material for MkDocs | `docs` public-site theme | [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) | + +Test and engineering-only helpers such as pytest, pytest-cov, psutil, PyYAML, +Ruff, mypy, Hypothesis, ReportLab, svglib and pypdf are likewise governed by +their upstream terms. They are not runtime solver dependencies. ## Verification references and external outputs diff --git a/docs/analyses/index.md b/docs/analyses/index.md index 553b883f..cb7374e6 100644 --- a/docs/analyses/index.md +++ b/docs/analyses/index.md @@ -2,7 +2,7 @@ doc_id: DOC-ANALYSIS-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -15,17 +15,22 @@ defines the valid element/material combinations. | Analysis | Status | Boundary | | --- | --- | --- | | Linear static | `QUALIFIED_BOUNDED` | Elastic and bounded material routes recorded in the matrix. | -| Modal | `SUPPORTED_WITH_LIMITATIONS` | Controlled linear eigenvalue cases; WEDGE6 first three modes are separately bounded. | -| Newmark transient | `SUPPORTED_WITH_LIMITATIONS` | Linear cases with documented mass, damping and time-step assumptions. | -| Harmonic | `SUPPORTED_WITH_LIMITATIONS` | Controlled frequency-domain cases; not a general dynamic claim. | -| Linear buckling | `SUPPORTED_WITH_LIMITATIONS` | Bounded first-factor sparse cases; no post-buckling claim. | +| Modal | `ROUTE_DEPENDENT — see capability index` | Controlled linear eigenvalue cases; WEDGE6 first three modes are separately bounded. | +| Newmark transient | `ROUTE_DEPENDENT — see capability index` | Linear cases with documented mass, damping and time-step assumptions. | +| Harmonic | `ROUTE_DEPENDENT — see capability index` | Controlled frequency-domain cases; not a general dynamic claim. | +| Linear buckling | `ROUTE_DEPENDENT — see capability index` | Bounded first-factor sparse cases; no post-buckling claim. | | Small-strain J2 | `QUALIFIED_BOUNDED` | TET4, TET10, HEX8 and HEX20 within the recorded constitutive scope. | -| Nonlinear, contact and finite-sliding | `EXPERIMENTAL` or not qualified | Use only the explicitly documented cases and failure contracts. | +| Mixed static and modal | `QUALIFIED_BOUNDED` | Connected conforming serial TET4/WEDGE6/HEX8 benchmark scopes only. | +| Mixed Newmark and harmonic | `EXPERIMENTAL_BOUNDED` | Frozen serial dynamic benchmarks only. | +| Frictionless penalty contact | `EXPERIMENTAL_BOUNDED` | Bounded node-to-triangle small-sliding cases only. | +| Geometric nonlinear | `RESEARCH_ONLY` | Discovery evidence only; no production nonlinear claim. | +| Mixed distributed PETSc/MPI | `NOT_VALIDATED` | Architecture readiness does not constitute runtime qualification. | ## What is not claimed Finite-kinematic J2, generalized nonlinear production use, contact with a -universal friction law, mixed meshes, generalized dynamics and production -finite-sliding are not qualified by this release. +universal friction law, arbitrary mixed meshes, generalized dynamics and +production finite-sliding are not qualified by this release. -[Read the capability and evidence matrix](../verification/0_2_7/0_2_7_capability_matrix.md). +[Read the authoritative 0.2.8 registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json). +For separate mixed workflows and capabilities, use the [central capability index](../capabilities/index.md). diff --git a/docs/architecture.md b/docs/architecture.md index 9bd114fa..a4de7fe9 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -2,12 +2,12 @@ doc_id: DOC-ARCH-001 revision: 2.1 status: controlled -applicable_version: 0.2.5a0 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- -# Architecture Du Solveur EF +# QF Solver architecture La formulation mathematique, les reperes locaux et les conventions des elements sont documentes dans les sections `fondements/` et `elements/` des @@ -57,41 +57,31 @@ Les visualisations, campagnes et verifications vivent respectivement dans durant la serie 0.2.x. Les deux chemins d'import sont proteges par une baseline matricielle et la campagne MITC4. -## Etat de transition 0.2.5a0 - -`src/solveur/elements/shell/mitc4` est l'unique implementation canonique de -MITC4. `src/solveur/compat/mitc4` est une facade de compatibilite interne maintenue pour la serie -`0.2.x`; son retrait est planifie pour `0.3.0` apres une periode de migration -documentee et testee. Aucun nouveau calcul ne doit etre implemente dans cette -facade. - -Les decisions de maturite sont portees par le registre machine-readable -`qualification/element_analysis_matrix.json` et par le pack V&V 0.2.5a0. Les -formulations HEX8 et HEX20 lineaires reutilisent le meme assembleur sparse, les -memes backends et les memes contrats statique/modal/Newmark/harmonique que les -solides existants. Dans le scope 0.2.5a0, J2 small-strain est qualifie dans un -domaine borne sur les quatre familles, tandis que l'elasticite Total-Lagrangian -et le flambement sont limites aux enveloppes G02/G03 documentees. L'arc-length, -le J2 finite-kinematic et les couplages G06 restent experimentaux ou differes. - -Docker ne fait pas partie du runtime standard. Le Dockerfile conserve dans -`tools/containers/large/` sert seulement a reproduire un environnement -PETSc/MPI epingle pour les campagnes grand modele. `pip install qf-solver` -n'installe ni Docker, ni PETSc, ni les artefacts documentaires. - -Le backend numerique commun est porte par `solveur.core.linear_methods`, -`solveur.core.linear_policy` et `solveur.core.solver_backend`. SciPy reste le -chemin standard. PETSc/SLEPc sont optionnels et ne sont importes que si -`backend='petsc'` est demande ou si la politique `auto` est configuree pour les -grands systemes. La reponse harmonique complexe reste explicitement sur SciPy -dans cette alpha. - -Les archives PyPI sont volontairement centrees sur le produit : elles ne -dupliquent ni le manuel, ni les Owner reviews, ni les tests. Le depot GitHub -est la distribution publique complete et lisible. Les operations de qualification qui -verifient l'existence physique de ces preuves s'executent depuis un clone du -depot; le paquet installe reste utilisable pour charger, verifier et resoudre -les modeles couverts. +## Current architecture (0.2.8 development) + +`src/solveur/elements/shell/mitc4` is the canonical MITC4 implementation. +`src/solveur/compat/mitc4` is an internal compatibility facade retained for +the 0.2.x migration; it contains no new numerical formulation. The public +architecture is organized around the `qf_solver` facade, with `solveur` +providing the implementation and compatibility layers. + +Current maturity is sourced from the machine-readable +`qualification/0_2_8/consolidated_registry.json` and from separate 0.2.8 +workflow and capability records. The 46 element-analysis records remain +separate from mixed workflows and research routes; source-tree presence does +not imply qualification. + +The standard runtime does not require Docker, PETSc or MPI. The pinned +container under `tools/containers/large/` exists for reproducible historical +large-model campaigns. The generic mixed TET4/WEDGE6/HEX8 PETSc/MPI runtime +remains `NOT_VALIDATED`; its architecture foundation is not a distributed +runtime claim. + +The common backend is implemented by `solveur.core.linear_methods`, +`solveur.core.linear_policy` and `solveur.core.solver_backend`. SciPy is the +standard path; PETSc/SLEPc are optional and are loaded only when the optional +backend is selected. The package does not include Docker, PETSc, MPI or +documentation evidence archives. ## Couches @@ -154,6 +144,11 @@ Le mode grand modele evite les deplacements monolithiques en JSON et utilise un audit agrege. Les artefacts de preuve incluent une empreinte d'entree et un rapport `runtime_environment.json`. +This flow describes the historical structured-TET4 large-model route. The +generic mixed PETSc/MPI path is architecture evidence only and remains +`NOT_VALIDATED`; no mixed distributed qualification or general scalability +claim follows from the recorded large-model workloads. + ## Assemblage et scaling 0.2.2 alpha Le chantier backend distingue explicitement le kernel elementaire, le motif diff --git a/docs/benchmarks/index.md b/docs/benchmarks/index.md index 7fb775eb..71b6535b 100644 --- a/docs/benchmarks/index.md +++ b/docs/benchmarks/index.md @@ -9,6 +9,11 @@ approver: "" # QF Solver benchmarks and reproducibility +> **Historical 0.2.7 evidence page.** The measurements below are retained for +> provenance and are not the current 0.2.8 maturity or a general performance +> promise. Use the [0.2.8 capability index](../capabilities/index.md) for the +> current public status. + QF Solver publishes bounded numerical and large-model evidence for selected finite-element routes. @@ -18,7 +23,7 @@ materials, solver settings or hardware. ## Large-model evidence -The strongest QF Solver 0.2.7 large-model evidence currently concerns +The strongest retained QF Solver 0.2.7 large-model evidence concerns structured TET4 linear-static models using selected PETSc/MPI routes. | Model size | Recorded result | Scope | diff --git a/docs/capabilities/index.md b/docs/capabilities/index.md new file mode 100644 index 00000000..78a42af0 --- /dev/null +++ b/docs/capabilities/index.md @@ -0,0 +1,90 @@ +--- +doc_id: DOC-CAPABILITY-028-001 +revision: 1.0 +status: controlled +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 capability index + +**Current development state:** `0.2.8` / release preparation +**Publication status:** `NOT_PUBLISHED_YET` + +This page is the public orientation index for the 0.2.8 candidate. It links to +the authoritative element-analysis registry and to the separate mixed-workflow, +capability and research records. It does not merge those records and it does +not create a new maturity decision. + +## How to read this index + +The active source of truth for the 46 element-analysis combinations is the +[consolidated registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json): + +| Registry | `QUALIFIED_BOUNDED` | `EXPERIMENTAL` | `NOT_QUALIFIED` | Total | +| --- | ---: | ---: | ---: | ---: | +| Element-analysis combinations | 32 | 14 | 0 | 46 | + +Mixed workflows and separate capabilities are deliberately outside those 46 +records. Their status applies only to the linked scope, evidence and +limitations. + +## Element-analysis registry + +- [Elements and route boundaries](../elements/index.md) +- [Analyses map](../analyses/index.md) +- [Consolidated machine-readable registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json) +- [Known limitations](../etat/limites.md) + +The registry remains the only authority for the 46 element-analysis maturity +counts. This index must not be used to infer a broader element or analysis +qualification. + +## Mixed workflows + +| Workflow | Status | Authoritative record or evidence | +| --- | --- | --- | +| Connected conforming mixed static | `QUALIFIED_BOUNDED` | [WP07 Owner record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_owner_gate_final.json) | +| Connected conforming mixed modal | `QUALIFIED_BOUNDED` | [WP08B Owner record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_owner_gate_final.json) | +| Translational MPC mixed static | `QUALIFIED_BOUNDED` | [WP13-03D delivery](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_03d_mixed_mpc_owner_delivery.json) | +| Multi-material mixed static | `QUALIFIED_BOUNDED` | [WP13-04D delivery](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_04d_multimaterial_owner_delivery.json) | +| Mixed Newmark linear dynamics | `EXPERIMENTAL_BOUNDED` | [WP13-02D delivery](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02d_mixed_dynamics_delivery.json) | +| Mixed harmonic linear response | `EXPERIMENTAL_BOUNDED` | [WP13-02D delivery](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02d_mixed_dynamics_delivery.json) | +| Distributed mixed PETSc/MPI runtime | `NOT_VALIDATED` | [0.2.8 verification history](../verification/0_2_8/README.md) | + +The distributed mixed PETSc/MPI route is architecture evidence only. Its +runtime physical and partition gates failed; the partial two-rank result is +not a public qualification claim. + +## Separate experimental capabilities + +| Capability | Status | Authoritative record | +| --- | --- | --- | +| Bounded Abaqus/CalculiX `.inp` importer | `EXPERIMENTAL_BOUNDED` | [WP13-05 capability record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_05_inp_import_capability_record.json) | +| Family-aware mixed HDF5 result storage | `EXPERIMENTAL_BOUNDED` | [WP13-06D capability record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_06d_mixed_hdf5_capability_record.json) | +| Frictionless penalty node-to-triangle contact | `EXPERIMENTAL_BOUNDED` | [WP13-07D capability record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_07d_contact_capability_record.json) | +| HEX8 selective reduced integration | `EXPERIMENTAL_BOUNDED` | [WP10 Owner record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json) | + +These capabilities remain opt-in or route-specific. They do not promote any +element-analysis combination in the 46-record registry. + +## Internal and research routes + +| Route | Status | Reference | +| --- | --- | --- | +| PYRAMID5 | `INTERNAL / RESEARCH_ONLY` | [WP13-10 maturation evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_10_pyramid5_maturation/wp13_10_pyramid5_maturation_evidence.json) | +| Geometric nonlinear discovery | `RESEARCH_ONLY` | [WP13-11 evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_11_geometric_nonlinear_discovery/manifest.json) | +| High-order mixed-interface feasibility | `RESEARCH_ONLY` | [WP13-09 evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_09_high_order_interface_feasibility/wp13_09_feasibility_evidence.json) | + +These entries are visible for traceability only. They are not stable public +solver capabilities and must not be used as production or qualification claims. + +## Public entry points + +- [V&V and evidence model](../verification/evidence-and-maturity.md) +- [0.2.8 What's New](../whats-new/0.2.8.md) +- [Installation](../getting-started/installation.md) +- [API stability](../reference/api_stability.md) +- [Known limitations](../etat/limites.md) +- [Historical 0.2.7 verification](../verification/0_2_7/README.md) diff --git a/docs/comparisons/index.md b/docs/comparisons/index.md index 0cb0a4cb..128cd350 100644 --- a/docs/comparisons/index.md +++ b/docs/comparisons/index.md @@ -2,7 +2,7 @@ doc_id: DOC-SOLVER-COMP-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -15,6 +15,14 @@ from the software. This section compares QF Solver with several open-source finite-element tools. +> **HISTORICAL SNAPSHOT NOTICE.** The detailed comparison pages retain their +> explicitly labeled 0.2.7 snapshots. They are not the current 0.2.8 maturity +> record; use the capability index for current status. + +The detailed comparison articles retain their explicit 0.2.7 snapshot where +stated. For current QF Solver maturity and limitations, use the 0.2.8 sources +linked below; in particular, mixed PETSc/MPI is `NOT_VALIDATED`. + The objective is not to claim that QF Solver is universally better. Each project has a different scope and design philosophy. @@ -92,5 +100,6 @@ The authoritative QF Solver capability information is available in: - [Elements](../elements/index.md) - [Analyses](../analyses/index.md) - [Known limitations](../etat/limites.md) -- [QF Solver 0.2.7 verification](../verification/0_2_7/README.md) +- [QF Solver 0.2.8 verification](../verification/0_2_8/README.md) +- [Historical QF Solver 0.2.7 verification](../verification/0_2_7/README.md) - [When should I use QF Solver?](../getting-started/when-to-use-qf-solver.md) diff --git a/docs/comparisons/python-fem-solvers.md b/docs/comparisons/python-fem-solvers.md index 95438517..70f9ecde 100644 --- a/docs/comparisons/python-fem-solvers.md +++ b/docs/comparisons/python-fem-solvers.md @@ -9,6 +9,10 @@ approver: "" # Python FEM solvers: which one should you use? +> **HISTORICAL / NOT CURRENT STATUS.** This comparison preserves a 0.2.7 +> snapshot. Current 0.2.8 maturity and limitations are defined by the +> [capability index](../capabilities/index.md). + There is no single best finite-element solver for every problem. Python users can choose between lightweight FEM libraries, general PDE diff --git a/docs/comparisons/qf-vs-calculix.md b/docs/comparisons/qf-vs-calculix.md index 97763337..0f174b6e 100644 --- a/docs/comparisons/qf-vs-calculix.md +++ b/docs/comparisons/qf-vs-calculix.md @@ -8,6 +8,10 @@ approver: "" --- # QF Solver vs CalculiX +> **HISTORICAL / NOT CURRENT STATUS.** This comparison preserves a 0.2.7 +> snapshot. Current 0.2.8 maturity and limitations are defined by the +> [capability index](../capabilities/index.md). + This comparison is intended as a technical selection guide, not as a claim that one solver is universally superior to another. diff --git a/docs/comparisons/qf-vs-code-aster.md b/docs/comparisons/qf-vs-code-aster.md index 13fe2f08..9d886562 100644 --- a/docs/comparisons/qf-vs-code-aster.md +++ b/docs/comparisons/qf-vs-code-aster.md @@ -9,6 +9,10 @@ approver: "" # QF Solver vs Code_Aster +> **HISTORICAL / NOT CURRENT STATUS.** This comparison preserves a 0.2.7 +> snapshot. Current 0.2.8 maturity and limitations are defined by the +> [capability index](../capabilities/index.md). + This comparison is intended as a technical selection guide, not as a claim that one solver is universally superior to another. diff --git a/docs/comparisons/qf-vs-scikit-fem.md b/docs/comparisons/qf-vs-scikit-fem.md index 24a30edf..f37d7a6d 100644 --- a/docs/comparisons/qf-vs-scikit-fem.md +++ b/docs/comparisons/qf-vs-scikit-fem.md @@ -8,6 +8,10 @@ approver: "" --- # QF Solver vs scikit-fem +> **HISTORICAL / NOT CURRENT STATUS.** This comparison preserves a 0.2.7 +> snapshot. Current 0.2.8 maturity and limitations are defined by the +> [capability index](../capabilities/index.md). + This comparison is intended as a technical selection guide, not as a claim that one solver is universally superior to another. diff --git a/docs/comparisons/qf-vs-sfepy.md b/docs/comparisons/qf-vs-sfepy.md index 103e7990..9dc350b0 100644 --- a/docs/comparisons/qf-vs-sfepy.md +++ b/docs/comparisons/qf-vs-sfepy.md @@ -8,6 +8,10 @@ approver: "" --- # QF Solver vs SfePy +> **HISTORICAL / NOT CURRENT STATUS.** This comparison preserves a 0.2.7 +> snapshot. Current 0.2.8 maturity and limitations are defined by the +> [capability index](../capabilities/index.md). + This comparison is intended as a technical selection guide, not as a claim that one solver is universally superior to another. diff --git a/docs/creer_cas.md b/docs/creer_cas.md index d4fb1ddb..f9c3050d 100644 --- a/docs/creer_cas.md +++ b/docs/creer_cas.md @@ -11,6 +11,7 @@ approver: "" Cette ancienne adresse est conservee pour compatibilite. Le guide maintenu est [Creer et verifier un cas](demarrage/creer_un_cas.md). +Ce guide maintenu est la cible canonique pour le contenu courant. Le schema d'entree autoritatif reste decrit dans le [schema JSON](schema_json.md). diff --git a/docs/demarrage/installation.md b/docs/demarrage/installation.md index befd8e81..fd18ac83 100644 --- a/docs/demarrage/installation.md +++ b/docs/demarrage/installation.md @@ -2,7 +2,7 @@ doc_id: DOC-START-001 revision: 1.0 status: superseded -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- diff --git a/docs/demarrage/premier_calcul.md b/docs/demarrage/premier_calcul.md index b7292bbb..586efd8c 100644 --- a/docs/demarrage/premier_calcul.md +++ b/docs/demarrage/premier_calcul.md @@ -2,7 +2,7 @@ doc_id: DOC-START-002 revision: 1.0 status: superseded -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- diff --git a/docs/demonstrations/index.md b/docs/demonstrations/index.md index 5386ae9b..10785e01 100644 --- a/docs/demonstrations/index.md +++ b/docs/demonstrations/index.md @@ -2,7 +2,7 @@ doc_id: DOC-DEMO-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -15,7 +15,7 @@ not establish universal element or solver qualification. ## Public examples -The maintained JSON examples are in [`examples/`](../../examples/). The +The maintained JSON examples are in [`examples/`](https://github.com/emptiesvoid-cloud/QF_solver/tree/0b356330bdbf63ca6c0406d9a5f816bd75246764/examples). The shortest path is the [TET4 static quickstart](../getting-started/quickstart.md). The public Python API is available through `qf_solver`. @@ -25,6 +25,6 @@ Some demonstrations generate a result directory containing inputs, outputs, diagnostics and a manifest. Read the reported residual, reactions, energy and mesh checks together. A plausible displacement alone is not sufficient. -The active 0.2.7 capability and evidence boundaries are in the -[verification summary](../verification/0_2_7/README.md). Large-model examples +The active 0.2.8 capability and evidence boundaries are in the +[verification summary](../verification/0_2_8/README.md). Large-model examples are described in [Large models](../solveurs/grand_modele.md). diff --git a/docs/document_registry.json b/docs/document_registry.json index 5fef51ea..8c3b5587 100644 --- a/docs/document_registry.json +++ b/docs/document_registry.json @@ -1,6 +1,6 @@ { "schema_version": 2, - "language": "fr", + "language": "en", "authority": "Les exigences et maturites proviennent de qualification/requirements.json.", "default_review_roles": [ "ingenieur_mecanique", @@ -11,7 +11,7 @@ { "id": "DOC-STATE-001", "path": "index.md", - "title": "QF Solver 0.2.7", + "title": "QF Solver 0.2.8", "status": "controlled", "requirements": [ "REQ-AUD-001", @@ -66,6 +66,33 @@ "examples": [], "tests": [] }, + { + "id": "DOC-CAPABILITY-028-001", + "path": "capabilities/index.md", + "title": "QF Solver 0.2.8 capability index", + "status": "controlled", + "requirements": [], + "examples": [], + "tests": [] + }, + { + "id": "DOC-VV-MATURITY-028-001", + "path": "verification/evidence-and-maturity.md", + "title": "V&V, evidence and maturity", + "status": "controlled", + "requirements": [], + "examples": [], + "tests": [] + }, + { + "id": "DOC-WHATS-NEW-028-001", + "path": "whats-new/0.2.8.md", + "title": "What's New in QF Solver 0.2.8", + "status": "controlled", + "requirements": [], + "examples": [], + "tests": [] + }, { "id": "DOC-START-001", "path": "demarrage/installation.md", @@ -2737,7 +2764,7 @@ { "id": "DOC-REF-002", "path": "reference/registre_documentaire.md", - "title": "Registre documentaire", + "title": "Documentation registry", "status": "controlled", "requirements": [ "REQ-CMP-001", @@ -2812,7 +2839,7 @@ { "id": "DOC-ARCH-001", "path": "architecture.md", - "title": "Architecture Du Solveur EF", + "title": "QF Solver architecture", "status": "controlled", "requirements": [ "REQ-REL-001" @@ -5072,7 +5099,7 @@ "examples": [], "tests": [] }, - { +{ "id": "DOC-SOLVER-BENCH-001", "path": "benchmarks/index.md", "title": "QF Solver benchmarks and reproducibility", @@ -5080,6 +5107,510 @@ "requirements": [], "examples": [], "tests": [] +}, +{ + "id": "DOC-028-001", + "path": "verification/0_2_8/README.md", + "title": "QF Solver 0.2.8 WP01 maturity baseline", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp01_maturity_matrix.json" + ], + "tests": [ + "tests/unit/test_028_wp01_maturity_matrix.py" + ] +}, +{ + "id": "DOC-REF-API-003", + "path": "reference/qf_solver_api.md", + "title": "QF Solver public Python API contract", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "examples/tet4_static.json" + ], + "tests": [ + "tests/unit/test_public_api_contract.py" + ] +}, +{ + "id": "DOC-028-WP03-001", + "path": "verification/0_2_8/wp03_beam2_discrete_vnv.md", + "title": "QF Solver 0.2.8 WP03 BEAM2 and DISCRETE V&V", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp03_beam2_discrete_vnv.json", + "qualification/0_2_8/wp03_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_beam2_discrete_vnv.py" + ] +}, +{ + "id": "DOC-028-WP03B-001", + "path": "verification/0_2_8/wp03b_dynamic_vnv.md", + "title": "QF Solver 0.2.8 WP03B BEAM2 and DISCRETE dynamic V&V", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp03b_dynamic_vnv.json", + "qualification/0_2_8/wp03b_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_beam2_discrete_dynamic_vnv.py" + ] +}, +{ + "id": "DOC-028-WP03-OWNER-001", + "path": "verification/0_2_8/wp03_owner_gate_final.md", + "title": "QF Solver 0.2.8 WP03 final Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp03_owner_gate_final.json", + "qualification/0_2_8/wp03_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp03_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP04-001", + "path": "verification/0_2_8/wp04_mitc_vnv.md", + "title": "QF Solver 0.2.8 WP04 MITC3 and MITC4 V&V", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp04_mitc_vnv.json", + "qualification/0_2_8/wp04_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_mitc_vnv.py" + ] +}, +{ + "id": "DOC-028-WP04-OWNER-001", + "path": "verification/0_2_8/wp04_owner_gate_final.md", + "title": "QF Solver 0.2.8 WP04 final Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp04_owner_gate_final.json", + "qualification/0_2_8/wp04_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp04_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP05-001", + "path": "verification/0_2_8/wp05_wedge6_vnv.md", + "title": "QF Solver 0.2.8 WP05 WEDGE6 static V&V", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp05_wedge6_contract.json", + "qualification/0_2_8/wp05_wedge6_vnv.json", + "qualification/0_2_8/wp05_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wedge6_static_campaign.py" + ] +}, +{ + "id": "DOC-028-WP05-OWNER-001", + "path": "verification/0_2_8/wp05_owner_gate_final.md", + "title": "QF Solver 0.2.8 WP05 final Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp05_owner_gate_final.json", + "qualification/0_2_8/wp05_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp05_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP06-001", + "path": "verification/0_2_8/wp06_hex8_buckling_vnv.md", + "title": "QF Solver 0.2.8 WP06 HEX8 linear-buckling assessment", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp06_hex8_buckling_contract.json", + "qualification/0_2_8/wp06_hex8_buckling_vnv.json", + "qualification/0_2_8/wp06_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_hex8_buckling_vnv.py" + ] +}, +{ + "id": "DOC-028-WP06B-001", + "path": "verification/0_2_8/wp06b_hex8_buckling_vnv.md", + "title": "QF Solver 0.2.8 WP06B HEX8 buckling root-cause remediation", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp06b_hex8_buckling_contract.json", + "qualification/0_2_8/wp06b_hex8_buckling_vnv.json", + "qualification/0_2_8/wp06b_maturity_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp06b_hex8_buckling.py" + ] +}, +{ + "id": "DOC-028-WP07-001", + "path": "verification/0_2_8/wp07_mixed_static_vnv.md", + "title": "QF Solver 0.2.8 WP07 mixed linear-static V&V", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp07_mixed_static_contract.json", + "qualification/0_2_8/wp07_mixed_static_vnv.json", + "qualification/0_2_8/wp07_mixed_static_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp07_mixed_static.py" + ] +}, +{ + "id": "DOC-028-WP07-OWNER-001", + "path": "verification/0_2_8/wp07_owner_gate_final.md", + "title": "QF Solver 0.2.8 WP07 final Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp07_owner_gate_final.json", + "qualification/0_2_8/wp07_mixed_static_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp07_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP08-001", + "path": "verification/0_2_8/wp08_mixed_modal_vnv.md", + "title": "QF Solver 0.2.8 WP08 mixed modal V&V", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp08_mixed_modal_contract.json", + "qualification/0_2_8/wp08_mixed_modal_vnv.json", + "qualification/0_2_8/wp08_mixed_modal_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp08_mixed_modal.py" + ] +}, +{ + "id": "DOC-028-WP08B-001", + "path": "verification/0_2_8/wp08b_mixed_modal_vnv.md", + "title": "QF Solver 0.2.8 WP08B mixed modal follow-up", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp08b_root_cause_audit.json", + "qualification/0_2_8/wp08b_mixed_modal_contract.json", + "qualification/0_2_8/wp08b_mixed_modal_vnv.json", + "qualification/0_2_8/wp08b_mixed_modal_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp08b_mixed_modal.py" + ] +}, +{ + "id": "DOC-028-WP08B-OWNER-001", + "path": "verification/0_2_8/wp08b_owner_gate_final.md", + "title": "QF Solver 0.2.8 WP08B final Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp08b_owner_gate_final.json" + ], + "tests": [ + "tests/verification/test_028_wp08b_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP09-001", + "path": "verification/0_2_8/wp09_pyramid5_formulation.md", + "title": "QF Solver 0.2.8 WP09 PYRAMID5 formulation gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp09_pyramid5_contract.json", + "qualification/0_2_8/wp09_pyramid5_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp09_pyramid5.py" + ] +}, +{ + "id": "DOC-028-WP09-VNV-001", + "path": "verification/0_2_8/wp09_pyramid5_vnv.md", + "title": "WP09 PYRAMID5 feasibility gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp09_pyramid5_contract.json", + "qualification/0_2_8/wp09_pyramid5_vnv.json", + "qualification/0_2_8/wp09_pyramid5_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp09_pyramid5.py" + ] +}, +{ + "id": "DOC-028-WP10-FORMULATION-001", + "path": "verification/0_2_8/wp10_hex8_sri_formulation.md", + "title": "WP10 HEX8 selective reduced integration formulation", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp10_hex8_sri_contract.json", + "qualification/0_2_8/wp10_hex8_sri_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp10_hex8_sri.py" + ] +}, +{ + "id": "DOC-028-WP10-VNV-001", + "path": "verification/0_2_8/wp10_hex8_sri_vnv.md", + "title": "WP10 HEX8 selective reduced integration research gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp10_hex8_sri_contract.json", + "qualification/0_2_8/wp10_hex8_sri_vnv.json", + "qualification/0_2_8/wp10_hex8_sri_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp10_hex8_sri.py" + ] +}, +{ + "id": "DOC-028-WP10-OWNER-001", + "path": "verification/0_2_8/wp10_hex8_sri_owner_gate_final.md", + "title": "WP10 HEX8-SRI Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json" + ], + "tests": [ + "tests/verification/test_028_wp10_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP11-CONTRACT-001", + "path": "verification/0_2_8/wp11_mixed_large_contract.md", + "title": "WP11 mixed large-scale evidence contract", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp11_mixed_large_contract.json", + "qualification/0_2_8/wp11_mixed_large_matrix.json", + "qualification/0_2_8/wp11_mixed_large_vnv.json" + ], + "tests": [ + "tests/verification/test_028_wp11_mixed_large.py" + ] +}, +{ + "id": "DOC-028-WP11-VNV-001", + "path": "verification/0_2_8/wp11_mixed_large_vnv.md", + "title": "WP11 mixed large-scale evidence", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp11_mixed_large_vnv.json", + "qualification/0_2_8/wp11_mixed_large_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp11_mixed_large.py" + ] +}, +{ + "id": "DOC-028-WP11B-CONTRACT-001", + "path": "verification/0_2_8/wp11b_hex8_buckling_experimental_contract.md", + "title": "WP11B HEX8 buckling experimental-readiness contract", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json", + "qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp11b_hex8_buckling_experimental.py" + ] +}, +{ + "id": "DOC-028-WP11B-VNV-001", + "path": "verification/0_2_8/wp11b_hex8_buckling_experimental_vnv.md", + "title": "WP11B HEX8 buckling experimental-readiness campaign", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json", + "qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json" + ], + "tests": [ + "tests/verification/test_028_wp11b_hex8_buckling_experimental.py" + ] +}, +{ + "id": "DOC-028-WP11B-OWNER-001", + "path": "verification/0_2_8/wp11b_hex8_buckling_owner_gate_final.md", + "title": "WP11B HEX8 buckling Owner gate", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json" + ], + "tests": [ + "tests/verification/test_028_wp11b_owner_gate_final.py" + ] +}, +{ + "id": "DOC-028-WP13-02A-READINESS-001", + "path": "verification/0_2_8/wp13_02a_dynamic_readiness.md", + "title": "QF Solver 0.2.8 WP13-02A mixed dynamics readiness", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02a_readiness.json", + "qualification/0_2_8/wp13_02a_newmark_contract.json", + "qualification/0_2_8/wp13_02a_harmonic_contract.json" + ], + "tests": [] +}, +{ + "id": "DOC-028-WP13-02A2-WEDGE6-DYNAMIC-001", + "path": "verification/0_2_8/wp13_02a2_wedge6_dynamic_enablement.md", + "title": "QF Solver 0.2.8 WP13-02A2 WEDGE6 dynamic enablement", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02a2_wedge6_dynamic_evidence.json", + "qualification/0_2_8/wp13_02a_newmark_contract.json", + "qualification/0_2_8/wp13_02a_harmonic_contract.json" + ], + "tests": [ + "tests/unit/test_wp13_02a2_wedge6_dynamic.py" + ] +}, +{ + "id": "DOC-028-WP13-02B-MIXED-NEWMARK-001", + "path": "verification/0_2_8/wp13_02b_mixed_newmark.md", + "title": "QF Solver 0.2.8 WP13-02B connected mixed Newmark campaign", + "status": "controlled_candidate", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02b_mixed_newmark_evidence.json", + "qualification/0_2_8/wp13_02a_newmark_contract.json" + ], + "tests": [ + "tests/verification/test_028_wp13_02b_mixed_newmark.py" + ] +}, +{ + "id": "DOC-028-WP13-02B2-EVIDENCE-CLOSURE-001", + "path": "verification/0_2_8/wp13_02b2_evidence_closure.md", + "title": "QF Solver 0.2.8 WP13-02B2 Newmark evidence closure", + "status": "owner_review_required", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02a_newmark_contract.json", + "qualification/0_2_8/wp13_02b2_raw/manifest.json", + "qualification/0_2_8/wp13_02b2_raw/wp13_02b2_raw_arrays.npz" + ], + "tests": [ + "tests/verification/test_028_wp13_02b2_evidence_closure.py" + ] +}, +{ + "id": "DOC-028-WP13-02B5-NEWMARK-V2-001", + "path": "verification/0_2_8/wp13_02b5_newmark_v2.md", + "title": "QF Solver 0.2.8 WP13-02B5 Newmark V2 campaign", + "status": "owner_review_required", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02b4_newmark_v2_contract.json", + "qualification/0_2_8/wp13_02b5_v2/manifest.json", + "qualification/0_2_8/wp13_02b5_v2/wp13_02b5_arrays.npz" + ], + "tests": [ + "tests/verification/test_028_wp13_02b5_newmark_v2.py" + ] +}, +{ + "id": "DOC-028-WP13-02B7-NEWMARK-V2-RERUN-001", + "path": "verification/0_2_8/wp13_02b7_newmark_v2_rerun.md", + "title": "QF Solver 0.2.8 WP13-02B7 Newmark V2 rerun", + "status": "owner_review_required", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02b4_newmark_v2_contract.json", + "qualification/0_2_8/wp13_02b7_v2/manifest.json", + "qualification/0_2_8/wp13_02b7_v2/wp13_02b7_arrays.npz" + ], + "tests": [ + "tests/verification/test_028_wp13_02b7_newmark_v2.py" + ] +}, +{ + "id": "DOC-028-WP13-02C-MIXED-HARMONIC-001", + "path": "verification/0_2_8/wp13_02c_mixed_harmonic.md", + "title": "QF Solver 0.2.8 WP13-02C connected mixed harmonic campaign", + "status": "owner_review_required", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02c_harmonic_contract.json", + "qualification/0_2_8/wp13_02c_harmonic_contract.schema.json", + "qualification/0_2_8/wp13_02c_harmonic_v1/manifest.json", + "qualification/0_2_8/wp13_02c_harmonic_v1/wp13_02c_harmonic_arrays.npz" + ], + "tests": [ + "tests/verification/test_028_wp13_02c_mixed_harmonic.py" + ] +}, +{ + "id": "DOC-028-WP13-02C2-HARMONIC-HARNESS-001", + "path": "verification/0_2_8/wp13_02c2_harmonic_harness.md", + "title": "QF Solver 0.2.8 WP13-02C2 harmonic harness/evidence correction", + "status": "owner_review_required", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02c_harmonic_contract.json", + "qualification/0_2_8/wp13_02c_harmonic_evidence.schema.json", + "qualification/0_2_8/wp13_02c2_harmonic_harness/manifest.json", + "qualification/0_2_8/wp13_02c2_harmonic_harness/wp13_02c2_harness_arrays.npz" + ], + "tests": [ + "tests/verification/test_028_wp13_02c2_harmonic_harness.py" + ] +}, +{ + "id": "DOC-028-WP13-02C3-HARMONIC-FINAL-001", + "path": "verification/0_2_8/wp13_02c3_harmonic_final.md", + "title": "QF Solver 0.2.8 WP13-02C3 final mixed harmonic campaign", + "status": "owner_review_required", + "requirements": [], + "examples": [ + "qualification/0_2_8/wp13_02c_harmonic_contract.json", + "qualification/0_2_8/wp13_02c3_harmonic_evidence.schema.json", + "qualification/0_2_8/wp13_02c3_harmonic_final/manifest.json", + "qualification/0_2_8/wp13_02c3_harmonic_final/wp13_02c3_harmonic_arrays.npz" + ], + "tests": [ + "tests/verification/test_028_wp13_02c3_harmonic_final.py" + ] } ] diff --git a/docs/elements/index.md b/docs/elements/index.md index 549d1bb0..fc8a4dfe 100644 --- a/docs/elements/index.md +++ b/docs/elements/index.md @@ -2,7 +2,7 @@ doc_id: DOC-ELEM-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -18,15 +18,15 @@ read with its analysis, material and mesh restrictions. | TET10 | `QUALIFIED_BOUNDED` | Linear and small-strain J2 scopes with route-specific limits. | | HEX8 | `QUALIFIED_BOUNDED` | Recorded linear and small-strain J2 cases; no HEX8R/SRI/B-bar claim. | | HEX20 | `QUALIFIED_BOUNDED` | Recorded linear and small-strain J2 cases with bounded route coverage. | -| WEDGE6 | `EXPERIMENTAL` for static; `QUALIFIED_BOUNDED` for modal | Static is a controlled vertical-slice workflow. Modal is limited to the first three modes and its recorded consistent-mass scope. | -| MITC3/MITC4, BEAM2 and discrete entities | `SUPPORTED_WITH_LIMITATIONS` or `EXPERIMENTAL` | Use the individual route evidence; no blanket qualification is implied. | +| WEDGE6 | `QUALIFIED_BOUNDED` for static and modal | Static is bounded to Gmsh Prism 6, isotropic small-strain elasticity and the recorded loads/meshes. Modal is limited to its homogeneous consistent-mass scope. | +| MITC3/MITC4, BEAM2 and discrete entities | `ROUTE_DEPENDENT — see capability index` | Use the individual route evidence; no blanket qualification is implied. | ## Deferred or excluded -WEDGE15 and PYRAMID5 are not supported. Mixed TET/WEDGE/HEX workflows, -HEX8R, SRI, B-bar and hourglass-control production paths remain deferred or -research-only. The element matrix provides the detailed combination-level -status and evidence links. +WEDGE15 is not supported and PYRAMID5 remains an internal research-only kernel. +Connected conforming mixed TET4/WEDGE6/HEX8 workflows exist only for their +separately recorded scopes. HEX8-SRI is a separate `EXPERIMENTAL_BOUNDED` +capability; HEX8R, B-bar and hourglass-control production paths remain deferred. ## Selecting an element @@ -35,4 +35,5 @@ required output quantities before solving. Mesh refinement does not repair an inappropriate kinematic assumption, invalid Jacobian or unsupported material route. -[Open the detailed 0.2.7 capability matrix](../verification/0_2_7/0_2_7_capability_matrix.md). +[Open the authoritative 0.2.8 registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json). +For the cross-registry current status, use the [central capability index](../capabilities/index.md). diff --git a/docs/etat/capacites.md b/docs/etat/capacites.md index 59e1d6e4..1afccbb2 100644 --- a/docs/etat/capacites.md +++ b/docs/etat/capacites.md @@ -2,14 +2,14 @@ doc_id: DOC-STATE-002 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- # Capabilities and maturity -This page summarizes the active public scope of QF Solver 0.2.7. A maturity +This page summarizes the active public scope of QF Solver 0.2.8. A maturity label applies to the declared combination, not to every possible use of an element or analysis. @@ -17,12 +17,21 @@ element or analysis. | --- | --- | --- | | TET4/TET10/HEX8/HEX20 linear static | `QUALIFIED_BOUNDED` | Recorded elastic materials, meshes, loads and solver routes. | | TET4/TET10/HEX8/HEX20 small-strain J2 | `QUALIFIED_BOUNDED` | Homogeneous constitutive cases in the active evidence matrix. | -| Modal, Newmark and harmonic | `SUPPORTED_WITH_LIMITATIONS` | Controlled linear cases; mass, damping and element coverage remain route-specific. | -| Linear buckling | `SUPPORTED_WITH_LIMITATIONS` | Bounded sparse first-factor cases. | -| Frictionless contact | `SUPPORTED_WITH_LIMITATIONS` | Bounded node-to-triangle contact cases only. | -| WEDGE6 static | `EXPERIMENTAL` | Small-strain elastic vertical-slice workflow. | +| Modal, Newmark and harmonic | `ROUTE_DEPENDENT — see capability index` | Controlled linear cases; mass, damping and element coverage remain route-specific. | +| Linear buckling | `ROUTE_DEPENDENT — see capability index` | Bounded sparse first-factor cases. | +| Frictionless contact | `EXPERIMENTAL_BOUNDED` | Penalty, node-to-triangle, small-sliding static/quasi-static cases only. | +| WEDGE6 static | `QUALIFIED_BOUNDED` | Approved isotropic linear-elastic static scope only. | | WEDGE6 modal | `QUALIFIED_BOUNDED` | First three modes, homogeneous isotropic consistent-mass scope. | -| Large-model PETSc/MPI | `SUPPORTED_WITH_LIMITATIONS` | Structured TET4 workloads on recorded configurations. | +| Mixed static and modal | `QUALIFIED_BOUNDED` | Connected conforming TET4/WEDGE6/HEX8 benchmark scopes only. | +| Mixed translational MPC and multi-material static | `QUALIFIED_BOUNDED` | Separate frozen mixed-workflow scopes only. | +| Mixed Newmark and harmonic | `EXPERIMENTAL_BOUNDED` | Serial linear workflows with the recorded timestep/frequency and damping scopes. | +| Bounded `.inp` subset | `EXPERIMENTAL_BOUNDED` | Provisional C3D4/C3D6/C3D8 linear-static Abaqus/CalculiX subset; not full compatibility. | +| Family-aware mixed HDF5 results | `EXPERIMENTAL_BOUNDED` | Opt-in schema v1.0 storage and selective reads; no restart, XDMF or general scalability claim. | +| HEX8-SRI | `EXPERIMENTAL_BOUNDED` | Separate opt-in linear-static locking-sensitive research capability. | +| PYRAMID5 | `INTERNAL / RESEARCH_ONLY` | No public supported-element claim. | +| MITC4 modal | `EXPERIMENTAL` | Element-analysis record remains experimental. | +| Structured TET4 PETSc/MPI | `ROUTE_DEPENDENT — see capability index` | Historical recorded workloads and exact environments only. | +| Mixed distributed PETSc/MPI | `NOT_VALIDATED` | Architecture foundation exists; runtime physical and partition gates fail. | ## Evidence vocabulary @@ -35,7 +44,11 @@ element or analysis. - `EXPERIMENTAL`: the route is usable for bounded exploration but is not a general qualified capability. -The machine-readable source of truth is -[`qualification/0_2_7/capability_registry_v2.json`](../../qualification/0_2_7/capability_registry_v2.json). -The readable combination matrix is -[`0.2.7 capability matrix`](../verification/0_2_7/0_2_7_capability_matrix.md). +The machine-readable source of truth for the 46 element-analysis combinations +is [`qualification/0_2_8/consolidated_registry.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json): +32 `QUALIFIED_BOUNDED`, 14 `EXPERIMENTAL`, 0 `NOT_QUALIFIED`, total 46. +Mixed workflows and the `.inp`, HDF5, contact and HEX8-SRI capabilities are +separate records and are not added to those 46 combinations. + +Use the [central capability index](../capabilities/index.md) to navigate from +this registry to the separate mixed-workflow, capability and research records. diff --git a/docs/etat/limites.md b/docs/etat/limites.md index 7ffa5deb..a4b714e6 100644 --- a/docs/etat/limites.md +++ b/docs/etat/limites.md @@ -2,7 +2,7 @@ doc_id: DOC-STATE-003 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -13,10 +13,15 @@ Every result is bounded by the element family, formulation, mesh quality, loading, boundary conditions, material model and solver route used to produce it. -- WEDGE6 static is experimental. WEDGE15 and PYRAMID5 are not supported. -- Mixed TET/WEDGE/HEX end-to-end workflows are not qualified. -- HEX8R, SRI, B-bar and hourglass-control production paths are deferred or - research-only. +- WEDGE6 static is qualified only within its approved bounded linear-elastic + scope. WEDGE15 is not supported; PYRAMID5 remains internal/research-only. +- Mixed TET4/WEDGE6/HEX8 static, modal, translational-MPC and multi-material + workflows have separate bounded qualification records. Mixed Newmark and + harmonic are experimental bounded. Arbitrary mixed workflows are not + qualified. +- HEX8-SRI is a separate experimental-bounded locking-sensitive capability; + it is not locking-free or universally robust. HEX8R, B-bar and general + hourglass-control production paths remain deferred or research-only. - Finite-kinematic J2 remains experimental and is not a production claim. - General nonlinear, contact-with-friction and finite-sliding routes remain experimental, bounded or outside the qualified scope. @@ -24,6 +29,13 @@ it. bounded C3 capacity/solve observation, not a universal scaling claim. - Optional PETSc/MPI and SLEPc routes require their external runtimes. Their absence must be reported explicitly and does not invalidate core import. +- Mixed PETSc/MPI has architecture evidence only and is `NOT_VALIDATED`: its + physical force-balance and three-rank runtime gates remain failed. +- The `.inp` reader is a provisional bounded Abaqus/CalculiX subset, not full + format compatibility. The mixed HDF5 writer/reader is opt-in, requires + `h5py`, and makes no restart, parallel-HDF5 or general scalability claim. +- Bounded contact is frictionless penalty node-to-triangle small-sliding only; + it does not cover friction, general finite sliding, impact or self-contact. - Code_Aster comparisons are limited to comparable recorded cases. CalculiX results are `NOT_COMPARABLE` where conventions, integration or observables do not match strictly. @@ -32,5 +44,9 @@ it. - No certification, universal physical validation, industrial equivalence or hardware-independent performance claim is made. -For exact boundaries, use the [active capability matrix](../verification/0_2_7/0_2_7_capability_matrix.md) -and the [0.2.7 evidence summary](../verification/0_2_7/README.md). +For exact element-analysis boundaries, use the +[0.2.8 consolidated registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json) +and the [0.2.8 evidence summary](../verification/0_2_8/README.md). The 0.2.7 +records remain available as immutable historical evidence. + +For the current cross-registry status, use the [central capability index](../capabilities/index.md). diff --git a/docs/examples/index.md b/docs/examples/index.md index 93a3798c..61d565b0 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -2,7 +2,7 @@ doc_id: DOC-EXAMPLES-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -11,7 +11,7 @@ approver: "" The maintained examples live in the repository `examples/` directory and use the public `qf_solver` API or the `qf-solver` CLI. Start with -[`tet4_static.json`](../../examples/tet4_static.json) and the +[`tet4_static.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/examples/tet4_static.json) and the [first-calculation guide](../getting-started/quickstart.md). Examples demonstrate a concrete workflow; they do not qualify every possible diff --git a/docs/generated/document_registry.md b/docs/generated/document_registry.md index 24a917a6..5ced1647 100644 --- a/docs/generated/document_registry.md +++ b/docs/generated/document_registry.md @@ -1,6 +1,6 @@ | ID | Title | Status | Requirements | Examples | Tests | Source | | --- | --- | --- | --- | --- | --- | --- | -| DOC-STATE-001 | QF Solver 0.2.7 | controlled | REQ-AUD-001, REQ-CMP-001 | 1 | 1 | index.md | +| DOC-STATE-001 | QF Solver 0.2.8 | controlled | REQ-AUD-001, REQ-CMP-001 | 1 | 1 | index.md | | DOC-VNV-CODEASTER-CAMPAIGN-2026-08-14 | Campagne de correlation Code_Aster du 2026-08-14 | ready_for_owner_review | REQ-CMP-003, REQ-AUD-001 | 1 | 3 | verification/code_aster_correlation_campaign_2026-08-14.md | | DOC-STATE-002 | Capabilities and maturity | controlled | REQ-CMP-001, REQ-REL-001 | 0 | 0 | etat/capacites.md | | DOC-STATE-003 | Known limitations | controlled | REQ-CMP-002, REQ-REL-001 | 0 | 0 | etat/limites.md | @@ -152,13 +152,13 @@ | DOC-RELEASE-V020-ALPHA-FREEZE-001 | Dossier de gel V0.2.0-alpha avant publication | controlled | REQ-REL-001, REQ-EVD-001 | 1 | 2 | verification/release_v020_alpha_freeze.md | | DOC-REF-001 | Interfaces CLI et API | draft | REQ-IO-001, REQ-IO-002 | 0 | 0 | reference/interfaces.md | | DOC-REF-GMSH-001 | Import Gmsh MSH 4.1 | draft | REQ-IO-001, REQ-MESH-001, REQ-MESH-002 | 0 | 2 | reference/import_gmsh.md | -| DOC-REF-002 | Registre documentaire | controlled | REQ-CMP-001, REQ-EVD-001 | 0 | 0 | reference/registre_documentaire.md | +| DOC-REF-002 | Documentation registry | controlled | REQ-CMP-001, REQ-EVD-001 | 0 | 0 | reference/registre_documentaire.md | | DOC-REF-006 | References scientifiques et numeriques | controlled | REQ-CMP-003, REQ-CMP-004 | 0 | 0 | reference/references.md | | DOC-REF-003 | Glossaire | draft | REQ-REL-001 | 0 | 0 | reference/glossaire.md | | DOC-REF-004 | Public roadmap | controlled | REQ-CMP-002, REQ-REL-001 | 0 | 0 | reference/feuille_de_route.md | | DOC-REF-005 | Conventions de resultats | draft | REQ-AUD-001, REQ-SOL-001, REQ-SOL-002 | 0 | 0 | conventions_resultats.md | | DOC-IO-001 | Schema JSON du solveur EF | draft | REQ-IO-001, REQ-IO-002 | 0 | 2 | schema_json.md | -| DOC-ARCH-001 | Architecture Du Solveur EF | controlled | REQ-REL-001 | 0 | 1 | architecture.md | +| DOC-ARCH-001 | QF Solver architecture | controlled | REQ-REL-001 | 0 | 1 | architecture.md | | DOC-QA-001 | Controle qualite projet | draft | REQ-REL-001 | 0 | 0 | controle_qualite.md | | DOC-AUD-001 | Audit de qualification industrielle du solveur EF | draft | REQ-CMP-001, REQ-CMP-002, REQ-REL-001 | 0 | 0 | audit_qualification_industrielle.md | | DOC-MESH-001 | Qualite de maillage | draft | REQ-MESH-001, REQ-MESH-002 | 0 | 0 | qualite_maillage.md | diff --git a/docs/generated/roadmap_status.md b/docs/generated/roadmap_status.md index 6d01d8c5..1340b797 100644 --- a/docs/generated/roadmap_status.md +++ b/docs/generated/roadmap_status.md @@ -2,5 +2,5 @@ | --- | --- | --- | | Reference Git revision | available at build | approved commit and clean repository | | Engineering documentation | generated | strict build and declared checks | -| 0.2.7 public scope | complete | bounded evidence remains explicit | +| Historical 0.2.7 public scope | complete | bounded evidence remains explicit | | Large-model evidence | bounded | hardware and workload scope remains explicit | diff --git a/docs/generated/status.md b/docs/generated/status.md index ae29af18..e18f423f 100644 --- a/docs/generated/status.md +++ b/docs/generated/status.md @@ -1,19 +1,22 @@
-

Release

0.2.7active documentation
-

Qualification

COMPLETEbounded evidence index
-

Test inventory

2349local collection at documentation freeze
+

Release

0.2.8-developmentrelease preparation; not published
+

Qualification

BOUNDEDdeclared 0.2.8 scope; WP13-01C not validated

Source revision

generated at buildcontrolled source required
-The active public scope is complete at its declared boundaries. Historical -planning snapshots and pre-release audit records remain available in the -verification archive and do not define the current release. +The active public scope is bounded at its declared 0.2.8 boundaries. The 0.2.8 +release remains in preparation and has not been published. The full-suite test +inventory is recorded by the final Gate-E evidence; this generated overview +deliberately does not hard-code a collection count. Historical planning +snapshots and pre-release audit records remain available in the verification +archive and do not define the current release. | Scope | Maturity | Public boundary | | --- | --- | --- | | TET4 linear static | bounded | Recorded elastic scope | | TET4/TET10/HEX8/HEX20 small-strain J2 | qualified bounded | Declared material and analysis scope | -| Modal, transient and harmonic | supported with limitations | Route-specific evidence | -| Frictionless contact | supported with limitations | Bounded node-to-triangle cases | -| WEDGE6 static | experimental | Controlled static slice only | -| Large-model PETSc/MPI | bounded evidence | Recorded workloads and environments | +| Modal, transient and harmonic | route-dependent | See the capability index for route-specific evidence | +| Frictionless contact | experimental bounded | Bounded node-to-triangle cases | +| WEDGE6 static | qualified bounded | Approved documented static scope | +| Structured TET4 PETSc/MPI | route-dependent | Historical recorded workloads and environments only | +| Mixed distributed PETSc/MPI | not validated | Architecture foundation only; physical and partition gates remain failed | diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index dcedd923..0f9b83d0 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -2,32 +2,42 @@ doc_id: DOC-START-PUB-001 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- # Installation +The current candidate is QF Solver `0.2.8-development`; publication has not +occurred yet. The [central capability index](../capabilities/index.md) and +[What's New](../whats-new/0.2.8.md) describe the current bounded public scope. + ## User installation -Install the stable package when it is available from the package index: +Install the package when a 0.2.8 distribution is available from the package +index. This development documentation does not claim that publication has +already occurred: -```powershell +```bash python -m pip install qf-solver qf-solver --version ``` -For a reproducible source checkout, use the stable tag: +An unqualified clone follows the repository default branch; it is not a +release selector. For this pre-publication candidate, select the branch +explicitly. No 0.2.8 tag is claimed here: -```powershell -git clone https://github.com/emptiesvoid-cloud/QF_solver.git -Set-Location QF_solver -git checkout v0.2.7 +```bash +git clone --branch 0.2.8-pre-publication --single-branch https://github.com/emptiesvoid-cloud/QF_solver.git +cd QF_solver python -m pip install . qf-solver --version ``` +An eventual tagged release should instead select its published tag explicitly; +the default branch is not a promise that it contains this candidate. + The core package requires Python 3.10 or newer. The public import is: ```python @@ -39,27 +49,59 @@ print(qf_solver.__version__) The optional extras are intended for specific workflows: -```powershell +```bash python -m pip install "qf-solver[mesh]" +python -m pip install "qf-solver[hdf5]" python -m pip install "qf-solver[large]" python -m pip install "qf-solver[hpc]" +python -m pip install "qf-solver[docs]" ``` -`mesh` adds mesh tooling. `large` adds HDF5 and MPI/PETSc support used by the -large-model route. `hpc` adds the optional SLEPc integration. These extras are -not required for core import or small standard examples. +`mesh` adds mesh tooling. `hdf5` adds only the optional family-aware HDF5 +result dependency. `large` adds HDF5 and MPI/PETSc support used by the +large-model route. `hpc` adds the optional SLEPc integration. `docs` adds the +MkDocs/MkDocs Material site builder and the controlled Markdown/PDF tooling. +These extras are not required for core import or small standard examples. +Calling an HDF5 API without `h5py` raises a typed `InfrastructureError`; +importing `qf_solver` does not require `h5py`. + +The `large` and `hpc` extras expose Python bindings to native MPI, PETSc and +SLEPc environments; they do not make those native runtimes universally +installable through pip. The recorded PETSc/MPI environments are Linux +conda/container setups, and native Windows compatibility is environment-specific +and not guaranteed. The mixed distributed PETSc/MPI runtime remains +`NOT_VALIDATED`. + +From a repository checkout, the public documentation site can be built with: + +```bash +python -m pip install ".[docs]" +python -m mkdocs build --strict -f .github/pages/mkdocs.yml +``` ## Development installation For project development only: -```powershell +```bash git clone https://github.com/emptiesvoid-cloud/QF_solver.git -Set-Location QF_solver -git checkout v0.2.7 +cd QF_solver python -m pip install -e ".[test,dev]" ``` Development extras do not expand the qualified numerical scope. PETSc/MPI availability depends on the host and is reported explicitly by the relevant commands. + +## Distribution traceability data + +The wheel and source distribution include only the lightweight public 0.2.8 +traceability set: the consolidated 46-record element-analysis registry and the +HEX8-SRI, mixed-dynamics, mixed-MPC, mixed-multimaterial, `.inp`, mixed-HDF5 +and contact owner/delivery records. Historical 0.2.7 capability metadata is +retained separately. + +Raw NPZ/HDF5 arrays, full campaign output, caches, debug artifacts and +temporary files are intentionally excluded from package data. They remain +repository evidence and are not required for importing or using the base +package. diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 1b9491b9..20c27c35 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -2,7 +2,7 @@ doc_id: DOC-START-PUB-002 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -40,6 +40,8 @@ surface. ## Before a production decision Confirm that the element, analysis, material, loading, boundary conditions and -solver backend all fall within the [published capability matrix](../verification/0_2_7/0_2_7_capability_matrix.md). +solver backend all fall within the +[0.2.8 consolidated registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json) +and, for mixed workflows or separate capabilities, the linked delivery record. Read the [known limitations](../etat/limites.md) and retain the input, configuration and result files with the calculation record. diff --git a/docs/getting-started/when-to-use-qf-solver.md b/docs/getting-started/when-to-use-qf-solver.md index 0f3e105e..b0834404 100644 --- a/docs/getting-started/when-to-use-qf-solver.md +++ b/docs/getting-started/when-to-use-qf-solver.md @@ -2,7 +2,7 @@ doc_id: DOC-SOLVER-GUIDE-001 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -37,7 +37,7 @@ QF Solver is a good fit if you need: - modal and structural dynamic analysis within documented limits; - small-strain elastoplastic calculations within qualified routes; - sparse linear solving; -- PETSc/MPI solving for selected large models; +- PETSc/MPI solving for the recorded structured TET4 large-model routes; - an engineering solver that exposes numerical diagnostics; - a solver that explicitly separates implemented, tested, verified and qualified capabilities. @@ -126,6 +126,9 @@ Typical applications include: WEDGE6 modal analysis has bounded qualification for a specifically documented homogeneous isotropic consistent-mass route and for the first three modes. +WEDGE6 static has a separate `QUALIFIED_BOUNDED` linear-elastic scope. Neither +decision qualifies arbitrary WEDGE6 analyses. + This qualification must not be generalized to other WEDGE6 analyses. --- @@ -140,6 +143,10 @@ QF Solver contains dynamic-analysis routes including: These capabilities are currently supported with documented limitations. +The connected mixed TET4/WEDGE6/HEX8 Newmark and harmonic routes are +`EXPERIMENTAL_BOUNDED`; their serial model, damping, timestep or frequency +scope must be matched exactly. + They are appropriate for controlled structural-dynamics studies when the chosen formulation, model and solver route match the available verification evidence. @@ -259,6 +266,14 @@ for: Use QF Solver for large models when the intended solver route is close to the documented large-scale configurations. +The 0.2.8 mixed PETSc/MPI architecture does not yet satisfy its runtime +qualification gates and remains `NOT_VALIDATED`: the two-rank run passes its +residual check but fails force balance, the three-rank run reaches +`KSP_DIVERGED_BREAKDOWN`, and partition consistency fails. This is architecture +evidence only; it must not be presented as scalable mixed PETSc support, +validated distributed mixed support, production-ready mixed MPI, or even as a +limited two-rank claim. + --- # When QF Solver is probably not the right tool @@ -329,11 +344,11 @@ WEDGE6 support must be interpreted carefully. Current status: -- WEDGE6 static: `EXPERIMENTAL`; +- WEDGE6 static: `QUALIFIED_BOUNDED` within its documented linear-elastic scope; - WEDGE6 modal: bounded qualification for a specific documented route. -A successful WEDGE6 modal qualification does not imply static, nonlinear or -general dynamic qualification. +Neither WEDGE6 static nor modal qualification implies nonlinear or general +dynamic qualification. WEDGE15 is currently outside the supported qualified scope. @@ -538,14 +553,15 @@ For example: | --- | --- | | Linear static solid routes | `QUALIFIED_BOUNDED` | | Small-strain J2 on TET4/TET10/HEX8/HEX20 | `QUALIFIED_BOUNDED` | -| Modal analysis | `SUPPORTED_WITH_LIMITATIONS` | -| Newmark dynamics | `SUPPORTED_WITH_LIMITATIONS` | -| Harmonic analysis | `SUPPORTED_WITH_LIMITATIONS` | -| Linear buckling | `SUPPORTED_WITH_LIMITATIONS` | -| Frictionless contact | `SUPPORTED_WITH_LIMITATIONS` | -| WEDGE6 static | `EXPERIMENTAL` | +| Modal analysis | `ROUTE_DEPENDENT — see capability index` | +| Newmark dynamics | `ROUTE_DEPENDENT — see capability index` | +| Harmonic analysis | `ROUTE_DEPENDENT — see capability index` | +| Linear buckling | `ROUTE_DEPENDENT — see capability index` | +| Frictionless contact | `EXPERIMENTAL_BOUNDED` | +| WEDGE6 static | `QUALIFIED_BOUNDED` | | WEDGE6 modal, declared route | `QUALIFIED_BOUNDED` | -| PETSc/MPI large-model route | `SUPPORTED_WITH_LIMITATIONS` | +| Structured TET4 PETSc/MPI route | `ROUTE_DEPENDENT — see capability index` | +| Mixed distributed PETSc/MPI runtime | `NOT_VALIDATED` | | General frictional contact | Not qualified | | General finite-strain plasticity | Not qualified | | GPU solving | Not claimed | @@ -587,7 +603,8 @@ Then continue with: - [Elements](../elements/index.md) - [Analyses](../analyses/index.md) - [Known limitations](../etat/limites.md) -- [QF Solver 0.2.7 verification](../verification/0_2_7/README.md) +- [QF Solver 0.2.8 verification](../verification/0_2_8/README.md) +- [Historical QF Solver 0.2.7 verification](../verification/0_2_7/README.md) --- diff --git a/docs/grand_modele.md b/docs/grand_modele.md index ccedb898..4c85e38c 100644 --- a/docs/grand_modele.md +++ b/docs/grand_modele.md @@ -2,7 +2,7 @@ doc_id: DOC-LRG-002 revision: 1.0 status: superseded -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- diff --git a/docs/index.md b/docs/index.md index f50c1b69..cfdd33be 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,17 +2,18 @@ doc_id: DOC-STATE-001 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- -# QF Solver 0.2.7 +# QF Solver 0.2.8 QF Solver is an inspectable Python finite-element solver for structural -mechanics. This site is the user-facing entry point for the stable 0.2.7 -source release. Claims are bounded by the active capability registry and its -linked evidence. +mechanics. **Current development state:** `0.2.8`. **Publication status:** +`NOT_PUBLISHED_YET`. This site does not announce a tag or publication. Claims +are bounded by the active consolidated registry, separate workflow/capability +records and their linked evidence. ## Start here @@ -22,6 +23,8 @@ linked evidence. 4. Check [elements and maturities](elements/index.md). 5. Select an [analysis route](analyses/index.md) and [solver backend](solveurs/index.md). 6. Read the [known limitations](etat/limites.md) before using a result. +7. Use the [central capability index](capabilities/index.md) for current + maturity and record links. ## Choosing a FEM solver @@ -31,23 +34,34 @@ tools, start with the solver-selection and comparison guides: - [Compare open-source FEM solvers](comparisons/index.md) - [Python FEM solvers: which one should you use?](comparisons/python-fem-solvers.md) -- ## Current scope - Bounded linear static routes are available for the element combinations in - the active 0.2.7 matrix. + the active 0.2.8 registry. - Small-strain J2 is bounded to TET4, TET10, HEX8 and HEX20. - Modal, Newmark, harmonic, buckling and frictionless contact routes have route-specific limitations. -- WEDGE6 static is experimental. WEDGE6 modal is qualified only for its - declared first-three-mode scope. +- WEDGE6 static is `QUALIFIED_BOUNDED` only for its approved linear-elastic + scope. WEDGE6 modal has its own bounded first-three-mode scope. +- Connected conforming mixed TET4/WEDGE6/HEX8 static, modal, translational-MPC + and multi-material workflows are `QUALIFIED_BOUNDED` within their separate + records. Mixed Newmark and harmonic workflows are `EXPERIMENTAL_BOUNDED`. +- The `.inp` subset, family-aware mixed HDF5 storage, bounded frictionless + contact and HEX8-SRI are separate `EXPERIMENTAL_BOUNDED` capabilities. +- PYRAMID5 remains internal/research-only, and MITC4 modal remains + `EXPERIMENTAL`. - PETSc/MPI large-model evidence is limited to recorded structured TET4 - workloads and environments. + workloads and environments. The generic mixed PETSc/MPI runtime is + `NOT_VALIDATED`. ## Verification -The [0.2.7 verification summary](verification/0_2_7/README.md) gives a public -overview and links to the detailed, immutable evidence records. Internal gate, +The [central capability index](capabilities/index.md) gives the current public +status. The [V&V and maturity model](verification/evidence-and-maturity.md) +explains contracts, frozen gates, evidence and replays. The [0.2.8 verification +summary](verification/0_2_8/README.md) gives the chronological development +overview, while the [0.2.7 summary](verification/0_2_7/README.md) remains +immutable historical evidence. Internal gate, work-package and audit identifiers are kept there under an explicit traceability section; they are not part of the user workflow. @@ -57,10 +71,13 @@ physical validation or certification. ## Release and roadmap -The stable source release is `0.2.7`, frozen at tag `v0.2.7`. See the -[public roadmap](reference/feuille_de_route.md) for product-level next steps. -Historical qualification records remain available for provenance and are -clearly labelled as historical in their own pages. +The source currently identifies as `0.2.8`; no 0.2.8 tag or publication is +claimed by this documentation update. See the [public roadmap](reference/feuille_de_route.md) +for product-level next steps. Historical qualification records remain +available for provenance and are labelled as historical in their own pages. + +Read [What's New in 0.2.8](whats-new/0.2.8.md) for the current bounded +development summary. ## Performance and reproducibility diff --git a/docs/manuel_theorique_elements_finis.md b/docs/manuel_theorique_elements_finis.md index 88f0c6a7..0b5a3156 100644 --- a/docs/manuel_theorique_elements_finis.md +++ b/docs/manuel_theorique_elements_finis.md @@ -9,6 +9,11 @@ approver: "" # Manuel theorique des elements finis +> **SUPERSEDED / COMPATIBILITY URL.** The canonical current documentation is +> the modular [FEM foundations](fondements/travaux_virtuels.md) and +> [elements](elements/index.md) documentation. This page is not a current +> solver capability claim. + !!! warning "Document remplace" Le manuel monolithique a ete migre vers les pages techniques modulaires afin d'eviter deux formulations concurrentes. Cette page ne contient plus de diff --git a/docs/reference/api_stability.md b/docs/reference/api_stability.md index 6c3667dd..f811628a 100644 --- a/docs/reference/api_stability.md +++ b/docs/reference/api_stability.md @@ -2,7 +2,7 @@ doc_id: DOC-REF-API-002 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -18,6 +18,8 @@ from qf_solver import check_mesh, load_model, save_result, solve_model ``` The standard flow is `load_model -> check_mesh -> solve_model -> save_result`. +The complete symbol inventory, signatures, stability categories, and exception +contract are maintained in the [`qf_solver` API contract](qf_solver_api.md). The package version is available without importing implementation modules: ```python @@ -34,5 +36,13 @@ available for compatibility but should not be used in new integrations. JSON v1 inputs remain supported where the documented schema permits them. CLI commands and stable exit codes are part of the public interface. Interface stability does not qualify every element, analysis or material combination; -the active [capability matrix](../verification/0_2_7/0_2_7_capability_matrix.md) -defines those boundaries. +the active [0.2.8 consolidated registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json) +and separate mixed-workflow/capability records define those boundaries. + +`qf_solver.read_inp(path)` remains `PROVISIONAL`; it covers only the documented +bounded Abaqus/CalculiX subset and is not a full-format compatibility claim. + +The family-aware mixed HDF5 functions are also `PROVISIONAL` and +`EXPERIMENTAL_BOUNDED`: they cover the documented schema-v1.0 TET4/WEDGE6/HEX8 +result-storage path only. Internal implementation symbols under `solveur` are +not stable API exports unless listed in the API contract. diff --git a/docs/reference/demonstrations_api.md b/docs/reference/demonstrations_api.md index 96af72ad..ce8514e5 100644 --- a/docs/reference/demonstrations_api.md +++ b/docs/reference/demonstrations_api.md @@ -2,7 +2,7 @@ doc_id: DOC-REF-DEMO-001 revision: 0.4 status: draft -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -17,8 +17,9 @@ de route; elles ne doivent pas etre confondues avec une qualification. Les labels courts du catalogue (`stable`, `stable_after_reinforced_tests`, `experimental`, `research`) sont des labels de demonstration. La maturite -active d'une combinaison est celle du registry v2 0.2.7 et ne doit pas etre -deduite du seul catalogue. +active d'une combinaison est celle du registre consolide 0.2.8 et ne doit pas +etre deduite du seul catalogue. Les snapshots historiques 0.2.7 restent +consultables dans l'archive de verification. ## Une entree de demonstration diff --git a/docs/reference/feuille_de_route.md b/docs/reference/feuille_de_route.md index 61eb5336..4b3102a3 100644 --- a/docs/reference/feuille_de_route.md +++ b/docs/reference/feuille_de_route.md @@ -2,38 +2,40 @@ doc_id: DOC-REF-004 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- # Public roadmap -QF Solver 0.2.7 is the current stable source release. This roadmap describes -product-level follow-up work; it is not a release gate or a promise that an -unqualified route is production-ready. +QF Solver 0.2.8 is the current development candidate. This roadmap describes +product-level follow-up work; it is not a release gate, tag, publication or a +promise that an unqualified route is production-ready. ## Current release -This is the 0.2.7 active scope. A historical planning snapshot may retain +This is the 0.2.8 development scope. A historical planning snapshot may retain earlier scores or work-package wording, but it does not define the current -release. +candidate. The release focuses on inspectable formulations, bounded numerical evidence, reproducible solver behavior and recorded large-model PETSc/MPI workflows. TET4, TET10, HEX8 and HEX20 have the strongest solid-element coverage. WEDGE6 -static remains experimental, while its modal claim is limited to the declared -first-three-mode scope. +static and modal are qualified only within their separate bounded scopes. +Mixed static, modal, translational-MPC and multi-material workflows are +separately bounded; mixed Newmark and harmonic remain experimental bounded. ## Next technical themes 1. Extend comparable verification for selected element and analysis combinations without broadening claims prematurely. -2. Improve the usability and portability of optional PETSc/MPI workflows. +2. Diagnose or redesign the mixed PETSc/MPI runtime without treating its + architecture-only readiness as runtime qualification. 3. Expand external correlation only where meshes, loads, conventions and observables are demonstrably comparable. -4. Investigate deferred mixed-mesh, WEDGE15, PYRAMID5, HEX8R/SRI/B-bar and - finite-kinematic J2 work as separate, evidence-led projects. +4. Continue WEDGE15, PYRAMID5, HEX8R/B-bar, finite-kinematic J2 and any + HEX8-SRI expansion as separate, evidence-led projects. ## Explicitly deferred @@ -43,5 +45,6 @@ not part of the current public promise. They require new evidence and a separate decision. Historical plans and qualification records remain in -[`docs/verification/0_2_7/`](../verification/0_2_7/) for provenance. They are -not the active product roadmap. +[`docs/verification/0_2_7/`](../verification/0_2_7/README.md) for provenance. They are +not the active product roadmap. The mixed distributed PETSc/MPI runtime is +explicitly `NOT_VALIDATED` and is deferred beyond the 0.2.8 release gate. diff --git a/docs/reference/interfaces.md b/docs/reference/interfaces.md index 767c0410..d9b8d1d1 100644 --- a/docs/reference/interfaces.md +++ b/docs/reference/interfaces.md @@ -2,17 +2,17 @@ doc_id: DOC-REF-001 revision: 0.1 status: draft technique -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- # Interfaces CLI et API publiques -Cette page decrit les interfaces disponibles dans la release 0.2.7. +Cette page decrit les interfaces disponibles dans le candidat 0.2.8. La stabilite d'une API ou la compatibilite d'un import ne constitue pas une -qualification mecanique : les claims restent gouvernes par le registry v2 et -les preuves de verification 0.2.7. +qualification mecanique : les claims restent gouvernes par le registre +consolide 0.2.8, les records separes et leurs preuves. ## Commandes principales @@ -95,6 +95,9 @@ Le parsing reste dans `io`, la logique mecanique dans `core/elements` et l'interface publique dans `solveur.api`. Le code appelant ne doit pas importer les classes internes pour obtenir un resultat courant. +`qf_solver.read_inp(path)` reste `PROVISIONAL` et ne couvre que le sous-ensemble +Abaqus/CalculiX borne documente. + ## Grand modele ```python @@ -105,4 +108,6 @@ result = solve_large_model(model, "result_large", solver_backend="petsc", precon ``` Le backend large refuse explicitement MITC4, TET10, dynamique, modal et -non-lineaire dans son perimetre v1. +non-lineaire dans son perimetre v1. Les preuves PETSc/MPI historiques de cette +route TET4 ne valident pas le runtime distribue mixed, qui reste +`NOT_VALIDATED`. diff --git a/docs/reference/open_source.md b/docs/reference/open_source.md index fc636130..75f65155 100644 --- a/docs/reference/open_source.md +++ b/docs/reference/open_source.md @@ -2,7 +2,7 @@ doc_id: DOC-REF-OSS-001 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -26,7 +26,8 @@ terms described in CONTRIBUTING.md. ## Release boundary -The public 0.2.7 scope is explicitly bounded. Experimental and non-comparable +The public 0.2.8 development scope is explicitly bounded. Experimental, +research-only, not-validated and non-comparable routes remain labeled as such in the capabilities and known-limitations pages. Historical audit records keep the version and status that were true when they were produced. diff --git a/docs/reference/qf_solver_api.md b/docs/reference/qf_solver_api.md new file mode 100644 index 00000000..723f9307 --- /dev/null +++ b/docs/reference/qf_solver_api.md @@ -0,0 +1,217 @@ +--- +doc_id: DOC-REF-API-003 +revision: 1.0 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# `qf_solver` public API contract + +This page is the concise contract for the Python surface exported by +`qf_solver`. New integrations should use this namespace. Implementation +modules and private names under `solveur` are not public API. + +The contract is additive for the 0.2.x line. A symbol marked `PROVISIONAL` is +importable and supported for the current documented use, but its signature or +result schema may be refined in a later minor release. No symbol in the +`qf_solver` facade is currently marked `DEPRECATED`. + +## Primary workflow + +The supported model workflow is: + +```python +from qf_solver import check_mesh, load_model, save_result, solve_model + +model = load_model("examples/tet4_static.json") +report = check_mesh(model) +if report.status == "FAIL": + raise RuntimeError(report.errors) +result = solve_model(model) +save_result(result, "result.json") +``` + +### `load_model` + +```python +load_model(path: str | Path) -> FiniteElementModel +``` + +- `path`: JSON model file path, as `str` or `pathlib.Path`. +- Returns a `FiniteElementModel`. +- Raises `InputValidationError` for an unreadable, malformed, duplicate-key, + or schema-invalid input. +- The reader preserves the documented JSON model schema and does not solve the + model. +- Stability: `STABLE`. + +### `check_mesh` + +```python +check_mesh(model: FiniteElementModel) -> MeshReport +``` + +- `model`: model returned by `load_model` or constructed with the public model + type. +- Returns a `MeshReport` with `status` equal to `PASS`, `WARNING`, or `FAIL`, + plus `errors`, `warnings`, and diagnostic `details`. +- Mesh and boundary-condition problems are reported in the result; callers + should not proceed when `status == "FAIL"`. +- Stability: `STABLE`. + +### `solve_model` + +```python +solve_model(model: FiniteElementModel, *, enforce_policy: bool = True) -> object +``` + +- `model`: validated finite-element model. +- `enforce_policy`: when `True` (the default), apply the model's documented + verification profile before returning the result. +- Returns the analysis result object. Its existing result methods, including + `to_dict()`, are preserved by the 0.2.x API. +- Raises `InputValidationError` or `MeshValidationError` for invalid input, + `NumericalConvergenceError` for a failed numerical method, and + `QualificationGateError` when a completed result is rejected by its active + verification profile. Runtime/backend failures may raise + `InfrastructureError`. +- Stability: `STABLE`. + +### `save_result` + +```python +save_result(result: object, path: str | Path) -> None +``` + +- `result`: result object returned by `solve_model`. +- `path`: JSON output path, as `str` or `pathlib.Path`. +- Returns `None` after writing a finite JSON result. +- Raises `InputValidationError` when a result exposing `to_dict()` cannot be + serialized as finite JSON; an object without `to_dict()` is ordinary caller + misuse and raises `AttributeError`. Filesystem errors remain ordinary + `OSError` failures. +- Stability: `STABLE`. + +## Stability categories + +- `STABLE`: intended for new integrations in the 0.2.x compatibility line. +- `PROVISIONAL`: public and tested, but tied to benchmark, V&V, large-model, + or campaign workflows whose result schemas may evolve. +- `DEPRECATED`: retained for compatibility and not recommended for new code. + +The legacy `solveur` top-level namespace, the `solveur-ef` console entry point, +and the `main_solveur.py` launcher are compatibility paths. They are marked for +removal in 0.3.0 by the existing version contract. They are not re-exported as +deprecated symbols from `qf_solver`; use `qf_solver` and `qf-solver` instead. + +## Export inventory + +The following inventory is generated from the current `qf_solver.__all__`. +The displayed signatures are normative for this development baseline; the +return annotation is the documented return type where one is available. + +### Stable symbols + +- `__version__` — `str` package version; `STABLE`. +- `assess_result(result: object, model: FiniteElementModel | None = None) -> dict[str, object]` — return a non-raising qualification summary; `STABLE`. +- `ExitCode(*values)` — stable CLI exit-code enum; `STABLE`. +- `InfrastructureError` — missing runtime, dependency, or external backend; `STABLE`. +- `InputValidationError` — invalid input file or schema; `STABLE`. +- `MeshValidationError` — invalid mesh, connectivity, or boundary conditions; `STABLE`. +- `NumericalConvergenceError(message: str, *, reason: NonlinearFailureReason | None = None, diagnostics: dict[str, Any] | None = None) -> None` — numerical failure with diagnostics; `STABLE`. +- `QualificationGateError(message: str, *, result: object | None = None, summary: dict[str, Any] | None = None) -> None` — verification-profile rejection; `STABLE`. +- `RunVerdict(*values)` — stable run-verdict enum; `STABLE`. +- `ConstraintTerm(node: int, dof: str, coefficient: float) -> None` — one linear-constraint term; `STABLE`. +- `FiniteElementModel(nodes: np.ndarray, elements: list[ElementDefinition], materials: dict[str, dict[str, Any]], fixed_dofs: list[BoundaryCondition] = , loads: list[NodalLoad] = , distributed_loads: list[DistributedLoad] = , springs: list[SpringDefinition] = , concentrated_masses: list[ConcentratedMass] = , multipoint_constraints: list[LinearConstraint] = , rbe2: list[Rbe2Definition] = , rbe3: list[Rbe3Definition] = , contacts: list[FrictionlessContact] = , analysis: AnalysisSettings = , schema_version: int = 1, units: dict[str, str] = , verification_profile: str = 'engineering') -> None` — in-memory model; `STABLE`. +- `LinearConstraint(terms: tuple[ConstraintTerm, ...], value: float = 0.0, name: str = '') -> None` — linear multi-point constraint; `STABLE`. +- `Rbe2Definition(master: int, slaves: tuple[int, ...], tie_rotations: bool = False, name: str = '') -> None` — rigid-body RBE2 definition; `STABLE`. +- `Rbe3Definition(reference: int, independents: tuple[tuple[int, float], ...], dofs: tuple[str, ...] = ('UX', 'UY', 'UZ', 'RX', 'RY', 'RZ'), mode: str = 'rigid_body_projection', name: str = '') -> None` — weighted RBE3 definition; `STABLE`. +- `MeshQualityThresholds(tet_min_signed_volume: float = 1e-14, tet_min_quality: float = 0.05, tet_min_radius_ratio: float = 0.05, tet_max_aspect_ratio: float = 20.0, tet_min_relative_volume: float = 0.0001, tet10_max_mid_edge_deviation_ratio: float = 0.05, tet10_min_sampled_jacobian: float = 1e-14, tet10_min_jacobian_ratio: float = 0.05, mitc4_max_aspect_ratio: float = 10.0, mitc4_max_planarity_ratio: float = 0.001, mitc4_min_angle_degrees: float = 30.0, mitc4_max_angle_degrees: float = 150.0, mitc4_max_warpage_degrees: float = 5.0, mitc3_max_aspect_ratio: float = 10.0, mitc3_min_angle_degrees: float = 20.0, mitc3_max_angle_degrees: float = 140.0, mitc3_min_relative_area: float = 1e-08) -> None` — mesh-quality thresholds; `STABLE`. +- `MeshValidator(thresholds: MeshQualityThresholds | None = None) -> None` — reusable validator; `STABLE`. +- `OrthotropicLamina(E1: float, E2: float, nu12: float, G12: float, density: float = 0.0, G13: float | None = None, G23: float | None = None) -> None` — orthotropic lamina material record; `STABLE`. +- `check_mesh(model: FiniteElementModel) -> MeshReport` — mesh and model consistency report; `STABLE`. +- `import_gmsh_model(mesh_path: str | Path, setup_path: str | Path, *, repair_tetra_orientation: bool = False) -> GmshImportResult` — import MSH 4.1 plus setup; `STABLE`. +- `inspect_model(model: FiniteElementModel, *, detail: str = 'summary') -> SolverAudit` — white-box model audit; `STABLE`. +- `list_methods() -> dict[str, tuple[str, ...]]` — list available analysis methods; `STABLE`. +- `load_model(path: str | Path) -> FiniteElementModel` — load a JSON finite-element model; `STABLE`. +- `save_audit_markdown(result_or_audit: object, path: str | Path) -> None` — write an audit report; `STABLE`. +- `save_evidence(model: FiniteElementModel, result: object, directory: str | Path, *, input_path: str | Path | None = None) -> dict[str, Path]` — write a reproducible evidence bundle; `STABLE`. +- `save_model(model: FiniteElementModel, path: str | Path) -> None` — write strict model JSON; `STABLE`. +- `save_result(result: object, path: str | Path) -> None` — write result JSON; `STABLE`. +- `save_result_csv(result: object, directory: str | Path, model: FiniteElementModel | None = None) -> dict[str, Path]` — write result tables; `STABLE`. +- `save_result_vtu(result: object, model: FiniteElementModel, path: str | Path) -> None` — write an ASCII VTU result; `STABLE`. +- `solve_model(model: FiniteElementModel, *, enforce_policy: bool = True) -> object` — solve through the public router; `STABLE`. +- `verify_evidence(path: str | Path) -> EvidenceVerificationReport` — verify evidence fingerprints; `STABLE`. + +### Provisional symbols + +The following symbols are public but scoped to large-model, benchmark, +campaign, profiling, or V&V workflows. Their signatures and current return +types are explicit below; their result schemas are not a general solver +stability guarantee. They may raise the stable typed errors above, plus +workflow-specific `OSError`, `ValueError`, or backend errors when an external +tool or artifact is unavailable. + +- `analyze_large_scaling(benchmark_paths: tuple[str | Path, ...], output_dir: str | Path, *, mode: str, weak_work_tolerance: float = 0.1, efficiency_warning_threshold: float = 0.6) -> dict[str, object]` — large scaling analysis; `PROVISIONAL`. +- `analyze_petsc_tuning(benchmark_paths: tuple[str | Path, ...], output_dir: str | Path, *, topologies: tuple[str, ...], presets: tuple[str, ...], displacement_tolerance: float = 1e-08) -> dict[str, object]` — PETSc tuning comparison; `PROVISIONAL`. +- `StructuredTet4ConvergencePlan(base_nx: int = 20, base_ny: int = 4, base_nz: int = 4, refinement_factors: tuple[int, ...] = (1, 2, 4, 8), decomposition: str = 'six', load_distribution: str = 'tributary') -> None` — structured TET4 study plan; `PROVISIONAL`. +- `benchmark_large_model(input_path: str | Path, output_dir: str | Path, *, solver_backend: str = 'scipy', preconditioner: str | None = None, chunk_size: int = 4096, matrix_format: str = 'baij', partition_strategy: str = 'contiguous', graph_partitioner: str = 'ptscotch', restart_from: str | Path | None = None) -> dict[str, object]` — large-model benchmark; `PROVISIONAL`. +- `collect_large_runtime_environment(metadata: dict[str, object] | None = None) -> dict[str, object]` — runtime metadata; `PROVISIONAL`. +- `check_large_readiness(output_dir: str | Path, *, target_dofs: int = 1000000, nx: int | None = None, ny: int | None = None, nz: int | None = None, solver_backend: str = 'petsc', chunk_size: int = 4096, memory_budget_bytes: int | None = None) -> dict[str, object]` — large-run readiness report; `PROVISIONAL`. +- `convert_model_to_large(input_path: str | Path, output_path: str | Path) -> LargeModel` — convert a model to large-model storage; `PROVISIONAL`. +- `generate_large_tet4_block(path: str | Path, *, nx: int, ny: int, nz: int, **kwargs: object) -> LargeModel` — generate a large TET4 block; `PROVISIONAL`. +- `generate_large_tet4_cantilever(path: str | Path, *, nx: int, ny: int, nz: int, **kwargs: object) -> LargeModel` — generate a large TET4 cantilever; `PROVISIONAL`. +- `inspect_large_model(model: LargeModel) -> LargeAuditReport` — audit large-model structure; `PROVISIONAL`. +- `import_cantilever_vnv_study(output_dir: str | Path, *, source_dir: str | Path | None = None, overwrite: bool = False) -> Path` — import controlled cantilever V&V artifacts; `PROVISIONAL`. +- `import_torsion_vnv_study(output_dir: str | Path, *, source_dir: str | Path | None = None, overwrite: bool = False) -> Path` — import controlled torsion V&V artifacts; `PROVISIONAL`. +- `list_benchmarks() -> tuple[BenchmarkDescriptor, ...]` — list benchmark descriptors; `PROVISIONAL`. +- `list_demonstrations(*, family: str | None = None, method: str | None = None, maturity: str | None = None) -> tuple[DemonstrationDescriptor, ...]` — list demonstration descriptors; `PROVISIONAL`. +- `load_large_model(path: str | Path) -> LargeModel` — load large-model storage; `PROVISIONAL`. +- `load_distributed_large_model(path: str | Path, *, partition_strategy: str = 'contiguous', graph_partitioner: str = 'ptscotch') -> object` — load a distributed partition; `PROVISIONAL`. +- `load_mixed_results_hdf5(path: str | Path, *, families: tuple[str, ...] | list[str] | None = None, fields: tuple[str, ...] | list[str] | None = None, region_id: int | None = None) -> dict[str, object]` — read family-aware mixed HDF5 results with optional family, field, and region selectors; `PROVISIONAL`. +- `read_inp(path: str | Path) -> InpImportResult` — import the bounded Abaqus/CalculiX `.inp` subset; `PROVISIONAL`. +- `parse_petsc_log_view(path: str | Path) -> dict[str, object]` — parse PETSc log output; `PROVISIONAL`. +- `postprocess_large_model(model_path: str | Path, displacement_path: str | Path, output_dir: str | Path, *, chunk_size: int = 65536, resume: bool = False, overwrite: bool = False, max_chunks: int | None = None) -> dict[str, object]` — post-process a large result; `PROVISIONAL`. +- `qualify_large_tet4_pipeline(output_dir: str | Path, *, target_dofs: int = 1000000, nx: int | None = None, ny: int | None = None, nz: int | None = None, solver_backend: str = 'petsc', preconditioner: str | None = None, chunk_size: int = 4096, **kwargs: object) -> dict[str, object]` — run the large TET4 qualification pipeline; `PROVISIONAL`. +- `qualification_readiness(scope: str, registry_path: str | Path | None = None) -> QualificationReadiness` — evaluate evidence readiness; `PROVISIONAL`. +- `recommended_large_block(target_dofs: int) -> tuple[int, int, int]` — recommend a large block shape; `PROVISIONAL`. +- `run_large_scale_campaign(output_dir: str | Path, *, targets: tuple[int, ...] = (100000, 1000000, 3000000), solver_backend: str = 'petsc', preconditioner: str | None = None, chunk_size: int = 4096, memory_budget_bytes: int | None = None, execute: bool = False, stop_on_failure: bool = True) -> dict[str, object]` — execute or plan large-scale targets; `PROVISIONAL`. +- `run_large_preconditioner_campaign(input_path: str | Path, output_dir: str | Path, *, preconditioners: tuple[str, ...] = ('gamg', 'hypre'), chunk_size: int = 4096, matrix_format: str = 'baij', displacement_tolerance: float = 1e-08, partition_strategy: str = 'contiguous', graph_partitioner: str = 'ptscotch') -> dict[str, object]` — compare large-model preconditioners; `PROVISIONAL`. +- `run_qualification_campaign(manifest_path: str | Path, output_dir: str | Path) -> dict[str, object]` — execute a qualification manifest; `PROVISIONAL`. +- `run_qualification_case(identifier: str, output_dir: str | Path, *, manifest_path: str | Path = DEFAULT_QUALIFICATION_CAMPAIGN) -> dict[str, object]` — execute one named qualification case; `PROVISIONAL`. +- `run_release_vv(output_dir: str | Path, *, registry_path: str | Path | None = None, execute_campaign: bool = False, campaign_manifest: str | Path | None = None) -> dict[str, object]` — build release V&V readiness artifacts; `PROVISIONAL`. +- `run_benchmark(identifier: str, output_dir: str | Path, *, profile: str = 'engineering') -> BenchmarkRun` — execute one catalogued benchmark; `PROVISIONAL`. +- `run_demonstration(identifier: str, output_dir: str | Path, *, profile: str = 'engineering') -> object` — execute one documented demonstration; `PROVISIONAL`. +- `run_contact_verification(output_dir: str | Path) -> dict[str, object]` — run the contact evidence suite; `PROVISIONAL`. +- `run_linear_solver_verification(output_dir: str | Path) -> dict[str, object]` — run sparse-solver comparisons; `PROVISIONAL`. +- `run_mitc4_validation(output_dir: str | Path, *, quick: bool = False) -> dict[str, object]` — generate MITC4 validation evidence; `PROVISIONAL`. +- `run_torsion_stress_probe(output_dir: str | Path, *, overwrite: bool = False) -> dict[str, object]` — run the controlled torsion stress probe; `PROVISIONAL`. +- `run_structured_tet4_study(output_dir: str | Path, *, plan: StructuredTet4ConvergencePlan | None = None, length: float = 4.0, width: float = 0.4, height: float = 0.4, young: float = 70000000000.0, poisson: float = 0.3, total_load: float = -1.0, relative_limit: float = 0.01, residual_limit: float = 1e-08, chunk_size: int = 8192, maxiter: int = 10000, solver_backend: str = 'matrix_free', preconditioner: str = 'gamg', study_id: str = 'VNV-TET4-STRUCTURED-FLEXION-001', container_image: str | None = None, container_digest: str | None = None) -> dict[str, Any]` — run a structured TET4 V&V study; `PROVISIONAL`. +- `run_vnv_study(study_path: str | Path, output_dir: str | Path) -> VnvStudyRun` — compare normalized study results; `PROVISIONAL`. +- `save_large_readiness(report: dict[str, object], output_dir: str | Path) -> dict[str, Path]` — persist large-readiness artifacts; `PROVISIONAL`. +- `save_large_runtime_environment(output_dir: str | Path, metadata: dict[str, object] | None = None) -> Path` — persist runtime metadata; `PROVISIONAL`. +- `save_large_verification(report: LargeQualificationVerification, *, json_path: str | Path | None = None, markdown_path: str | Path | None = None) -> dict[str, Path]` — persist large qualification verification; `PROVISIONAL`. +- `save_mixed_results_hdf5(path: str | Path, model: object, results: object, *, reactions: object | None = None, source_sha: str, metadata: dict[str, object] | None = None) -> Path` — write family-aware mixed HDF5 results; `PROVISIONAL`. +- `solve_large_model(model: LargeModel, output_dir: str | Path | None = None, *, solver_backend: str = 'scipy', preconditioner: str = 'jacobi', chunk_size: int = 4096, matrix_format: str = 'baij') -> LargeSolveResult` — solve a large-model representation; `PROVISIONAL`. +- `mixed_results_semantic_digest(path: str | Path) -> str` — digest logical family-aware mixed-result content; `PROVISIONAL`. +- `verify_large_qualification(path: str | Path, *, target_dofs: int = 1000000, max_solver_residual: float = 1e-06) -> LargeQualificationVerification` — verify large qualification evidence; `PROVISIONAL`. +- `write_petsc_profile_report(profile_paths: tuple[str | Path, ...], output_dir: str | Path, *, labels: tuple[str, ...] | None = None) -> dict[str, object]` — write PETSc profile reports; `PROVISIONAL`. + +## Public CLI boundary + +The supported console command is `qf-solver`. It exposes the documented model, +mesh, result, evidence, import, benchmark, V&V, and large-model commands. The +legacy `solveur-ef` entry point and `main_solveur.py` launcher remain available +for 0.2.x compatibility and emit the existing deprecation warning. No CLI +path is promoted to a certification or universal-validation claim by this +contract. + +For the overview and compatibility boundary, see +[`api_stability.md`](api_stability.md). The active capability limits remain in +the [0.2.8 consolidated registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json) +and linked mixed-workflow/capability records. + +The cross-registry public orientation is maintained by the +[0.2.8 capability index](../capabilities/index.md). diff --git a/docs/reference/registre_documentaire.md b/docs/reference/registre_documentaire.md index e7aa4c15..fae98920 100644 --- a/docs/reference/registre_documentaire.md +++ b/docs/reference/registre_documentaire.md @@ -2,7 +2,7 @@ doc_id: DOC-REF-002 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- diff --git a/docs/solveurs/grand_modele.md b/docs/solveurs/grand_modele.md index 70ebb5aa..2031c356 100644 --- a/docs/solveurs/grand_modele.md +++ b/docs/solveurs/grand_modele.md @@ -2,7 +2,7 @@ doc_id: DOC-LRG-001 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -20,19 +20,24 @@ use HDF5, MPI-IO and PETSc when those optional dependencies are installed. - material: isotropic 3D linear elasticity; - degrees of freedom: `UX`, `UY`, `UZ`; - input: supported HDF5 or NPZ large-model files; -- scalable backend: optional PETSc/MPI; +- backend: optional PETSc/MPI for the recorded structured workloads; - comparison backend: chunked SciPy for small or intermediate models. Modal, dynamic, harmonic, nonlinear and generalized mixed-mesh large-model claims are outside this page. +The 0.2.8 generic mixed distributed architecture is a separate route. Its +PETSc/MPI runtime is `NOT_VALIDATED`: two-rank force balance fails and the +three-rank run breaks down. No partial mixed-distributed claim follows from +the structured TET4 evidence below. + ## Recorded evidence The 1M, 3M, 5M and bounded 10M results are tied to their exact workload, hardware, container, MPI layout and solver options. They demonstrate recorded capability, not universal scalability. The active evidence index and matrix are available in [`0.2.7 verification`](../verification/0_2_7/README.md) and the -[capability matrix](../verification/0_2_7/0_2_7_capability_matrix.md). +[historical capability matrix](../verification/0_2_7/0_2_7_capability_matrix.md). ## Optional installation diff --git a/docs/solveurs/index.md b/docs/solveurs/index.md index 9cd8fc85..da264085 100644 --- a/docs/solveurs/index.md +++ b/docs/solveurs/index.md @@ -2,7 +2,7 @@ doc_id: DOC-SOL-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- @@ -16,11 +16,12 @@ conditioning and final diagnostics for every calculation. | Analysis | Public status | Available methods or backend | | --- | --- | --- | | Linear static | `QUALIFIED_BOUNDED` | Direct and iterative sparse routes within the element matrix. | -| Modal | `SUPPORTED_WITH_LIMITATIONS` | Sparse eigenvalue routes for the recorded bounded cases. | -| Newmark / harmonic | `SUPPORTED_WITH_LIMITATIONS` | Controlled linear routes with documented mass and damping assumptions. | -| Linear buckling | `SUPPORTED_WITH_LIMITATIONS` | Bounded sparse tangent-instability cases. | -| Nonlinear and contact | `EXPERIMENTAL` or bounded | Newton, load-control, Arc-Length and contact paths remain route-specific. | -| Large model | `SUPPORTED_WITH_LIMITATIONS` | PETSc/MPI for recorded structured TET4 workloads; SciPy is for small or intermediate cases. | +| Modal | `ROUTE_DEPENDENT — see capability index` | Sparse eigenvalue routes for the recorded bounded cases. | +| Newmark / harmonic | `ROUTE_DEPENDENT — see capability index` | Controlled linear routes; mixed TET4/WEDGE6/HEX8 variants are separate `EXPERIMENTAL_BOUNDED` workflows. | +| Linear buckling | `ROUTE_DEPENDENT — see capability index` | Bounded sparse tangent-instability cases. | +| Nonlinear and contact | `ROUTE_DEPENDENT — see capability index` | Newton, load-control, Arc-Length and contact paths remain route-specific. | +| Structured TET4 large model | `ROUTE_DEPENDENT — see capability index` | PETSc/MPI for recorded historical workloads; SciPy is for small or intermediate cases. | +| Mixed distributed PETSc/MPI | `NOT_VALIDATED` | Architecture foundation only; physical balance and three-rank runtime gates remain failed. | ## Optional PETSc/MPI route @@ -28,7 +29,8 @@ PETSc and MPI are optional integrations. The large-model route uses a distributed AIJ matrix with structured diagonal/off-diagonal preallocation on the recorded qualification path. Its 1M, 3M, 5M and bounded 10M results apply only to the declared workloads, host and configuration. They are not a general -HPC or GPU claim. +HPC or GPU claim. It does not qualify the newer generic mixed distributed +runtime, which remains `NOT_VALIDATED`. ## Public API diff --git a/docs/verification/0_2_6/0_2_6_capability_inventory.md b/docs/verification/0_2_6/0_2_6_capability_inventory.md index dbcba9cb..fc383df6 100644 --- a/docs/verification/0_2_6/0_2_6_capability_inventory.md +++ b/docs/verification/0_2_6/0_2_6_capability_inventory.md @@ -1,5 +1,5 @@ # Capability Inventory -This legacy shortlist remains a high-level view of the 0.2.5 maturity targets. The controlled, complete 0.2.6 source of truth is now [capability_registry.json](../../../qualification/capability_registry.json), rendered for review in [Capability Coverage Register](capability_coverage.md). It contains the element, analysis, material, contact and infrastructure capabilities, along with evidence, maturity, gate ownership, historical continuity and explicit gaps. +This legacy shortlist remains a high-level view of the 0.2.5 maturity targets. The controlled, complete 0.2.6 source of truth is now [capability_registry.json](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/capability_registry.json), rendered for review in [Capability Coverage Register](capability_coverage.md). It contains the element, analysis, material, contact and infrastructure capabilities, along with evidence, maturity, gate ownership, historical continuity and explicit gaps. The shortlist does not close any gate and must not be used as a capability census. diff --git a/docs/verification/0_2_6/0_2_6_g07_b1_arc_length.md b/docs/verification/0_2_6/0_2_6_g07_b1_arc_length.md index 8776ef34..31a70c6b 100644 --- a/docs/verification/0_2_6/0_2_6_g07_b1_arc_length.md +++ b/docs/verification/0_2_6/0_2_6_g07_b1_arc_length.md @@ -7,8 +7,8 @@ Gate status preserved: `026-G07 = NOT_STARTED` Functional source changed: `NO` The complete machine-readable record is -[`g07_b1_arc_length_evidence.json`](../../../qualification/0_2_6/g07_b1_arc_length_evidence.json). -The runner is [`run_g07_b1_arc_length.py`](../../../scripts/run_g07_b1_arc_length.py). +[`g07_b1_arc_length_evidence.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g07_b1_arc_length_evidence.json). +The runner is [`run_g07_b1_arc_length.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/scripts/run_g07_b1_arc_length.py). This step is targeted evidence only; it does not modify TL, change a formulation, or close G07. diff --git a/docs/verification/0_2_6/0_2_6_g07_gap_reconciliation.md b/docs/verification/0_2_6/0_2_6_g07_gap_reconciliation.md index 4497ff5c..56929450 100644 --- a/docs/verification/0_2_6/0_2_6_g07_gap_reconciliation.md +++ b/docs/verification/0_2_6/0_2_6_g07_gap_reconciliation.md @@ -8,7 +8,7 @@ Functional source changed: `NO` This document records Step A only. It does not execute a new external case, change a formulation, promote TL or Arc-Length, or close G07. The complete machine-readable matrix is -[`g07_gap_reconciliation.json`](../../../qualification/0_2_6/g07_gap_reconciliation.json). +[`g07_gap_reconciliation.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g07_gap_reconciliation.json). ## Scope diff --git a/docs/verification/0_2_6/0_2_6_g07_owner_closeout.md b/docs/verification/0_2_6/0_2_6_g07_owner_closeout.md index b8b92d3c..d0a489c3 100644 --- a/docs/verification/0_2_6/0_2_6_g07_owner_closeout.md +++ b/docs/verification/0_2_6/0_2_6_g07_owner_closeout.md @@ -13,7 +13,7 @@ closeout_start_sha: c55f768d570905869904e08042180f2b515f26c4 L’Owner clôt `026-G07` comme **PASS_WITH_LIMITATIONS** dans un périmètre explicitement borné. La décision est enregistrée dans -[`g07_owner_closeout.json`](../../../qualification/0_2_6/g07_owner_closeout.json). +[`g07_owner_closeout.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g07_owner_closeout.json). Les preuves ne promeuvent pas toutes les familles ni tous les chemins nonlinéaires. Elles autorisent uniquement les claims détaillés ci-dessous ; une diff --git a/docs/verification/0_2_6/0_2_6_g11_owner_closeout.md b/docs/verification/0_2_6/0_2_6_g11_owner_closeout.md index 949b8a03..b4c504d1 100644 --- a/docs/verification/0_2_6/0_2_6_g11_owner_closeout.md +++ b/docs/verification/0_2_6/0_2_6_g11_owner_closeout.md @@ -7,7 +7,7 @@ closeout records the existing evidence; it adds no runtime case and changes no solver formulation, route implementation or diagnostic threshold. The machine-readable decision is -[`g11_owner_closeout.json`](../../../qualification/0_2_6/g11_owner_closeout.json). +[`g11_owner_closeout.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g11_owner_closeout.json). | Item | Result | | --- | --- | diff --git a/docs/verification/0_2_6/0_2_6_g12_owner_closeout.md b/docs/verification/0_2_6/0_2_6_g12_owner_closeout.md index 09e3c947..67552cb5 100644 --- a/docs/verification/0_2_6/0_2_6_g12_owner_closeout.md +++ b/docs/verification/0_2_6/0_2_6_g12_owner_closeout.md @@ -33,7 +33,7 @@ HPC générale, ni une promotion de route ou de formulation. | Statut officiel | PASS_WITH_LIMITATIONS | La preuve machine-readable est -[`g12_owner_closeout.json`](../../../qualification/0_2_6/g12_owner_closeout.json). +[`g12_owner_closeout.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g12_owner_closeout.json). ## Requirement Owner diff --git a/docs/verification/0_2_6/0_2_6_g14_capability_coverage.md b/docs/verification/0_2_6/0_2_6_g14_capability_coverage.md index e0da5944..8e9b39c3 100644 --- a/docs/verification/0_2_6/0_2_6_g14_capability_coverage.md +++ b/docs/verification/0_2_6/0_2_6_g14_capability_coverage.md @@ -22,7 +22,7 @@ observable. ## Coverage classes The machine-readable classification is in -[`g14_capability_coverage.json`](../../../qualification/0_2_6/g14_capability_coverage.json). +[`g14_capability_coverage.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g14_capability_coverage.json). | Class | Count | Meaning | | --- | ---: | --- | @@ -50,9 +50,9 @@ This document records the G14 snapshot and does not itself close the release. At that snapshot, historical full-regression findings, version/test reconciliation, historical documentation metadata, provenance SHA review, stale-route/test inventory and environment-dependent audits were tracked in -[`g14_release_cleanup_items.json`](../../../qualification/0_2_6/g14_release_cleanup_items.json). +[`g14_release_cleanup_items.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g14_release_cleanup_items.json). The G15 Owner release review was subsequently completed and is recorded in -[`g15_release_sweep.json`](../../../qualification/0_2_6/g15_release_sweep.json). +[`g15_release_sweep.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g15_release_sweep.json). Full regression was `SKIPPED_BY_POLICY` for G14; the final release sweep reused the applicable pre-G15 regression evidence. diff --git a/docs/verification/0_2_6/0_2_6_tl_boundary_owner_prevalidation.md b/docs/verification/0_2_6/0_2_6_tl_boundary_owner_prevalidation.md index beef3c3e..2db86a4a 100644 --- a/docs/verification/0_2_6/0_2_6_tl_boundary_owner_prevalidation.md +++ b/docs/verification/0_2_6/0_2_6_tl_boundary_owner_prevalidation.md @@ -50,7 +50,7 @@ Status: `PASS_DIAGNOSTIC`; this decision approves bounded diagnostic policies an | Degraded conditioning median | ~9.25e4 | | Out-of-scope conditioning median | ~8.22e6 | -The four persistent failures, the twelve degraded cases and the historical CASE2 anchor remain in the [failure zoo](../../../qualification/0_2_6/tl_boundary_study/tl_boundary_failure_zoo.json). These values are observations, not acceptance thresholds. +The four persistent failures, the twelve degraded cases and the historical CASE2 anchor remain in the [failure zoo](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/tl_boundary_study/tl_boundary_failure_zoo.json). These values are observations, not acceptance thresholds. ## Technical decision diff --git a/docs/verification/0_2_6/README.md b/docs/verification/0_2_6/README.md index b9bd2f9c..833dd159 100644 --- a/docs/verification/0_2_6/README.md +++ b/docs/verification/0_2_6/README.md @@ -5,6 +5,6 @@ This directory is the generated, reader-facing view of authoritative data in `qu The G14 final capability-coverage audit is recorded in [`0_2_6_g14_capability_coverage.md`](0_2_6_g14_capability_coverage.md); G15 release review is recorded in -[`g15_release_sweep.json`](../../../qualification/0_2_6/g15_release_sweep.json). +[`g15_release_sweep.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_6/g15_release_sweep.json). Run `python scripts/generate_vnv_026_foundation.py` after an intentional policy change. diff --git a/docs/verification/0_2_7/0_2_7_f3_public_claim_audit.md b/docs/verification/0_2_7/0_2_7_f3_public_claim_audit.md index a240959f..60c5a34f 100644 --- a/docs/verification/0_2_7/0_2_7_f3_public_claim_audit.md +++ b/docs/verification/0_2_7/0_2_7_f3_public_claim_audit.md @@ -10,7 +10,7 @@ approver: "" # F3 - Audit des claims publics 0.2.7a0 > **CONTROLLED VIEW** - La source machine-readable est -> [`f3_public_claim_audit.json`](../../../qualification/0_2_7/f3_public_claim_audit.json). +> [`f3_public_claim_audit.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/f3_public_claim_audit.json). > Cette page ne remplace ni les preuves d'execution ni le registry v2. ## Decision rule @@ -78,4 +78,4 @@ sont pas convertis en preuves disponibles. - [`V&V harness v2`](0_2_7_vnv_harness_v2.md) - [`3M ladder`](0_2_7_wp18_3m_ladder.md) - [`5M closeout`](0_2_7_lu2_wp04_wp05_5m_closeout.md) -- [`LU2 state`](../../../qualification/0_2_7/level_up_2_state.json) +- [`LU2 state`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/level_up_2_state.json) diff --git a/docs/verification/0_2_7/0_2_7_f4_unit_test_quality_audit.md b/docs/verification/0_2_7/0_2_7_f4_unit_test_quality_audit.md index e06d68fb..a5bcd792 100644 --- a/docs/verification/0_2_7/0_2_7_f4_unit_test_quality_audit.md +++ b/docs/verification/0_2_7/0_2_7_f4_unit_test_quality_audit.md @@ -59,7 +59,7 @@ unguarded. The concrete exception guard is now also enforced by | API/CLI, packaging, registry and preflight | Contract, import and release guard tests | Implemented/tested surfaces | Live optional environments are separate jobs | The full machine-readable matrix, mutation-style analysis and evidence links -are in [`f4_unit_test_quality_audit.json`](../../../qualification/0_2_7/f4_unit_test_quality_audit.json). +are in [`f4_unit_test_quality_audit.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/f4_unit_test_quality_audit.json). ## Mutation-style checks diff --git a/docs/verification/0_2_7/0_2_7_gate_matrix.md b/docs/verification/0_2_7/0_2_7_gate_matrix.md index 83e3cff8..e0df208b 100644 --- a/docs/verification/0_2_7/0_2_7_gate_matrix.md +++ b/docs/verification/0_2_7/0_2_7_gate_matrix.md @@ -269,9 +269,9 @@ retuning or silent fallback is permitted. ## `LU2-027-G08` route-decision closeout LU2-WP08 is `PASS_WITH_LIMITATIONS`. The controlled decision matrix is -[`qualification/0_2_7/lu2_wp08_decision_matrix.json`](../../../qualification/0_2_7/lu2_wp08_decision_matrix.json) +[`qualification/0_2_7/lu2_wp08_decision_matrix.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/lu2_wp08_decision_matrix.json) and its state record is -[`qualification/0_2_7/lu2_wp08_state.json`](../../../qualification/0_2_7/lu2_wp08_state.json). +[`qualification/0_2_7/lu2_wp08_state.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/lu2_wp08_state.json). No new element, formulation or mixed-mesh framework was implemented. Mixed TET/WEDGE/HEX is `PARTIAL` at technical infrastructure level but has no diff --git a/docs/verification/0_2_7/0_2_7_large_scale_readiness.md b/docs/verification/0_2_7/0_2_7_large_scale_readiness.md index 21193c30..819b126f 100644 --- a/docs/verification/0_2_7/0_2_7_large_scale_readiness.md +++ b/docs/verification/0_2_7/0_2_7_large_scale_readiness.md @@ -120,9 +120,9 @@ sizes. Machine-readable records: -- [`wp12_state.json`](../../../qualification/0_2_7/wp12_state.json) -- [`wp12_scaling_evidence.json`](../../../qualification/0_2_7/wp12_scaling_evidence.json) -- [`wp12_assembly_probe_300k.json`](../../../qualification/0_2_7/wp12_assembly_probe_300k.json) +- [`wp12_state.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp12_state.json) +- [`wp12_scaling_evidence.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp12_scaling_evidence.json) +- [`wp12_assembly_probe_300k.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp12_assembly_probe_300k.json) The campaign report and this document are `CONTROLLED_PROOF` records. The Owner decision remains `PROPOSED_OWNER_REVIEW`; resource-limited and diff --git a/docs/verification/0_2_7/0_2_7_lu2_wp08_decisions.md b/docs/verification/0_2_7/0_2_7_lu2_wp08_decisions.md index c191ed2e..d88f5272 100644 --- a/docs/verification/0_2_7/0_2_7_lu2_wp08_decisions.md +++ b/docs/verification/0_2_7/0_2_7_lu2_wp08_decisions.md @@ -12,9 +12,9 @@ approver: "" This is a governance decision record, not an implementation or qualification record. It is based on the repository state at `8ef34e345f970879548a4dfdce4ac5ba32c11bda`. The machine-readable source is -[`lu2_wp08_decision_matrix.json`](../../../qualification/0_2_7/lu2_wp08_decision_matrix.json), +[`lu2_wp08_decision_matrix.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/lu2_wp08_decision_matrix.json), and the state record is -[`lu2_wp08_state.json`](../../../qualification/0_2_7/lu2_wp08_state.json). +[`lu2_wp08_state.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/lu2_wp08_state.json). ## Decision summary diff --git a/docs/verification/0_2_7/0_2_7_mesh_quality_plan.md b/docs/verification/0_2_7/0_2_7_mesh_quality_plan.md index 783167bd..87afb767 100644 --- a/docs/verification/0_2_7/0_2_7_mesh_quality_plan.md +++ b/docs/verification/0_2_7/0_2_7_mesh_quality_plan.md @@ -55,7 +55,7 @@ warning leaves calculation permitted; invalid geometry is reported fail-closed by preflight. Dimensionless diagnostics are invariant under rigid transforms and coordinate scaling in the controlled tests. See [`0_2_7_mesh_quality_contract.md`](0_2_7_mesh_quality_contract.md) and -[`qualification/0_2_7/vnv_v2/mesh_quality_cases.json`](../../../qualification/0_2_7/vnv_v2/mesh_quality_cases.json). +[`qualification/0_2_7/vnv_v2/mesh_quality_cases.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/vnv_v2/mesh_quality_cases.json). ## Owner review items diff --git a/docs/verification/0_2_7/0_2_7_r0_release_readiness.md b/docs/verification/0_2_7/0_2_7_r0_release_readiness.md index fff1472b..e9213a68 100644 --- a/docs/verification/0_2_7/0_2_7_r0_release_readiness.md +++ b/docs/verification/0_2_7/0_2_7_r0_release_readiness.md @@ -25,7 +25,7 @@ classified as `FOREIGN_CHANGE` and preserved in a targeted stash with commit The current candidate remains `0.2.7a0`, with no tag, GitHub release or PyPI publication. The future tag/build source is the final local R0 closeout commit reported with this record. The machine-readable record is -[`qualification/0_2_7/r0_release_readiness.json`](../../../qualification/0_2_7/r0_release_readiness.json). +[`qualification/0_2_7/r0_release_readiness.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/r0_release_readiness.json). ## Gate result diff --git a/docs/verification/0_2_7/0_2_7_release_workflow_audit.md b/docs/verification/0_2_7/0_2_7_release_workflow_audit.md index c460598f..88772b04 100644 --- a/docs/verification/0_2_7/0_2_7_release_workflow_audit.md +++ b/docs/verification/0_2_7/0_2_7_release_workflow_audit.md @@ -55,5 +55,5 @@ Text digests use canonical UTF-8 bytes with LF newlines and SHA-256. Binary artifacts are hashed byte-for-byte without text normalization. The machine-readable records are -[`release_truth.json`](../../../qualification/0_2_7/release_truth.json) and -[`release_workflow_audit.json`](../../../qualification/0_2_7/release_workflow_audit.json). +[`release_truth.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/release_truth.json) and +[`release_workflow_audit.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/release_workflow_audit.json). diff --git a/docs/verification/0_2_7/0_2_7_s1_assembly_telemetry.md b/docs/verification/0_2_7/0_2_7_s1_assembly_telemetry.md index 8608af65..d5ea3588 100644 --- a/docs/verification/0_2_7/0_2_7_s1_assembly_telemetry.md +++ b/docs/verification/0_2_7/0_2_7_s1_assembly_telemetry.md @@ -16,8 +16,8 @@ configuration, tolerances or numerical formulation. ## Contract The machine-readable contract is -[`wp04_telemetry_contract.json`](../../../qualification/0_2_7/wp04_telemetry_contract.json). -The implementation is [`telemetry.py`](../../../src/solveur/large/telemetry.py), +[`wp04_telemetry_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_telemetry_contract.json). +The implementation is [`telemetry.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/src/solveur/large/telemetry.py), and the WP04 runner enables it explicitly with: ```text diff --git a/docs/verification/0_2_7/0_2_7_step1_release_freeze.md b/docs/verification/0_2_7/0_2_7_step1_release_freeze.md index 2132a9cc..c79f2ee4 100644 --- a/docs/verification/0_2_7/0_2_7_step1_release_freeze.md +++ b/docs/verification/0_2_7/0_2_7_step1_release_freeze.md @@ -43,7 +43,7 @@ provenance and are not treated as the current release state. ## Integrity The machine-readable record is -[`qualification/0_2_7/step1_release_freeze.json`](../../../qualification/0_2_7/step1_release_freeze.json). +[`qualification/0_2_7/step1_release_freeze.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/step1_release_freeze.json). The foreign 0.2.1 documentation change remains isolated in the preserved targeted stash and is not part of the release candidate. No numerical source, baseline, maturity decision or historical evidence was changed for the freeze. diff --git a/docs/verification/0_2_7/0_2_7_wp03_3m_gold_compute.md b/docs/verification/0_2_7/0_2_7_wp03_3m_gold_compute.md index 6e810f52..303c22e7 100644 --- a/docs/verification/0_2_7/0_2_7_wp03_3m_gold_compute.md +++ b/docs/verification/0_2_7/0_2_7_wp03_3m_gold_compute.md @@ -30,7 +30,7 @@ This is a bounded compute claim, not a general scalability or accuracy claim. - No post-result tuning, formulation change or silent fallback The predeclared contract is -[`wp03_execution_contract.json`](../../../qualification/0_2_7/wp03_execution_contract.json). +[`wp03_execution_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp03_execution_contract.json). ## Workloads @@ -68,7 +68,7 @@ including SPD-compatible CG, passed without changing WP14 tolerances. ## Replay The replay record is -[`wp03_replay_comparison.json`](../../../qualification/0_2_7/wp03_runtime/wp03_replay_comparison.json). +[`wp03_replay_comparison.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp03_runtime/wp03_replay_comparison.json). It records identical input, configuration and freeze digests, identical iteration count, and PASS. The maximum recorded numerical relative delta is `6.06e-13`; RSS variation is 4,096 bytes. Timing is allowed to vary: assembly/ @@ -78,7 +78,7 @@ is 50.801 s. No performance conclusion is inferred from those differences. ## Workload A/B comparison The descriptive comparison is -[`wp03_workload_comparison.json`](../../../qualification/0_2_7/wp03_runtime/wp03_workload_comparison.json). +[`wp03_workload_comparison.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp03_runtime/wp03_workload_comparison.json). The workloads have the same DOF, element count, route, rank count and frozen configuration, but different geometry and input digests. Workload A recorded 598 iterations and 1,568.651 s total; Workload B recorded 1,046 iterations and @@ -94,9 +94,9 @@ inferred from total time. The machine-readable index and state are: -- [`wp03_evidence_index.json`](../../../qualification/0_2_7/wp03_runtime/wp03_evidence_index.json) -- [`wp03_summary.json`](../../../qualification/0_2_7/wp03_runtime/wp03_summary.json) -- [`lu2_wp03_state.json`](../../../qualification/0_2_7/lu2_wp03_state.json) +- [`wp03_evidence_index.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp03_runtime/wp03_evidence_index.json) +- [`wp03_summary.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp03_runtime/wp03_summary.json) +- [`lu2_wp03_state.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/lu2_wp03_state.json) ## Claim boundary and next step diff --git a/docs/verification/0_2_7/0_2_7_wp04_5m_bronze.md b/docs/verification/0_2_7/0_2_7_wp04_5m_bronze.md index 86b4eebe..f5124ba6 100644 --- a/docs/verification/0_2_7/0_2_7_wp04_5m_bronze.md +++ b/docs/verification/0_2_7/0_2_7_wp04_5m_bronze.md @@ -33,7 +33,7 @@ not change WP02 tolerances or the FEM formulation. - No rank, partition, matrix, solver, preconditioner or tolerance change was made The predeclared contract is -[`wp04_execution_contract.json`](../../../qualification/0_2_7/wp04_execution_contract.json). +[`wp04_execution_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_execution_contract.json). ## Workload and preflight @@ -49,9 +49,9 @@ Two independent generator runs produced the same input digest: The preflight estimated `10,135,530,000` bytes of RAM and `4,090,089,600` bytes for two model recreations on the pinned Docker route; the preflight classification was `PASS`. The machine-readable records are -[`wp04_preflight.json`](../../../qualification/0_2_7/wp04_runtime/wp04_preflight.json), -[`workload_5m_run1_build.json`](../../../qualification/0_2_7/wp04_runtime/workload_5m_run1_build.json), -and [`workload_5m_run2_build.json`](../../../qualification/0_2_7/wp04_runtime/workload_5m_run2_build.json). +[`wp04_preflight.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/wp04_preflight.json), +[`workload_5m_run1_build.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/workload_5m_run1_build.json), +and [`workload_5m_run2_build.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/workload_5m_run2_build.json). ## Controlled stop @@ -73,11 +73,11 @@ this historical run. S1 installs opt-in rank-zero progress telemetry for the supervised retry; it does not alter this historical result. The original time-budget observation is retained in -[`wp04_resource_guard_audit.json`](../../../qualification/0_2_7/wp04_runtime/wp04_resource_guard_audit.json) +[`wp04_resource_guard_audit.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/wp04_resource_guard_audit.json) and the corrected forensic classification is recorded in -[`wp04_forensic_audit.json`](../../../qualification/0_2_7/wp04_runtime/wp04_forensic_audit.json) +[`wp04_forensic_audit.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/wp04_forensic_audit.json) and summarized in -[`wp04_summary.json`](../../../qualification/0_2_7/wp04_runtime/wp04_summary.json). +[`wp04_summary.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/wp04_summary.json). ## Boundary and next step diff --git a/docs/verification/0_2_7/0_2_7_wp04_forensic_audit.md b/docs/verification/0_2_7/0_2_7_wp04_forensic_audit.md index c3fc6eec..cfbeca8d 100644 --- a/docs/verification/0_2_7/0_2_7_wp04_forensic_audit.md +++ b/docs/verification/0_2_7/0_2_7_wp04_forensic_audit.md @@ -64,4 +64,4 @@ checkpoint before the retry policy is run; the WP02 backend, ranks, partitioning, KSP, PC and tolerances remain frozen. The machine-readable report is -[`wp04_forensic_audit.json`](../../../qualification/0_2_7/wp04_runtime/wp04_forensic_audit.json). +[`wp04_forensic_audit.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp04_runtime/wp04_forensic_audit.json). diff --git a/docs/verification/0_2_7/0_2_7_wp14_large_scale_contract.md b/docs/verification/0_2_7/0_2_7_wp14_large_scale_contract.md index a9ef29ed..53881c9a 100644 --- a/docs/verification/0_2_7/0_2_7_wp14_large_scale_contract.md +++ b/docs/verification/0_2_7/0_2_7_wp14_large_scale_contract.md @@ -12,7 +12,7 @@ approver: "" WP14 is a contract gate, not a large benchmark. It freezes the physical model, execution profile, acceptance metrics, resource rules and evidence format before WP15-WP18 runs. The authoritative machine-readable record is -[`qualification/0_2_7/wp14_execution_contract.json`](../../../qualification/0_2_7/wp14_execution_contract.json). +[`qualification/0_2_7/wp14_execution_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp14_execution_contract.json). ## Reference model diff --git a/docs/verification/0_2_7/0_2_7_wp19_robustness_hex8.md b/docs/verification/0_2_7/0_2_7_wp19_robustness_hex8.md index 846fb6c8..b6070c86 100644 --- a/docs/verification/0_2_7/0_2_7_wp19_robustness_hex8.md +++ b/docs/verification/0_2_7/0_2_7_wp19_robustness_hex8.md @@ -80,12 +80,12 @@ zero drift. Historical WP13 evidence remains tied to its original source SHA Machine-readable records: -- [`wp19_state.json`](../../../qualification/0_2_7/wp19_state.json) -- [`wp19_cases.json`](../../../qualification/0_2_7/wp19_cases.json) -- [`wp19_robustness_summary.json`](../../../qualification/0_2_7/wp19_runtime/wp19_robustness_summary.json) -- [`wp19_robustness_evidence.json`](../../../qualification/0_2_7/wp19_runtime/wp19_robustness_evidence.json) -- [`wp19_hex8_diagnostic.json`](../../../qualification/0_2_7/wp19_runtime/wp19_hex8_diagnostic.json) -- [`wp19_golden_replay.json`](../../../qualification/0_2_7/wp19_runtime/wp19_golden_replay.json) +- [`wp19_state.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp19_state.json) +- [`wp19_cases.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp19_cases.json) +- [`wp19_robustness_summary.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp19_runtime/wp19_robustness_summary.json) +- [`wp19_robustness_evidence.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp19_runtime/wp19_robustness_evidence.json) +- [`wp19_hex8_diagnostic.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp19_runtime/wp19_hex8_diagnostic.json) +- [`wp19_golden_replay.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/wp19_runtime/wp19_golden_replay.json) WP20 may continue with the existing J2 and external V&V scope. This record does not claim general HEX8 accuracy, universal adversarial robustness, or a diff --git a/docs/verification/0_2_7/README.md b/docs/verification/0_2_7/README.md index 911bb968..9a2f2e0c 100644 --- a/docs/verification/0_2_7/README.md +++ b/docs/verification/0_2_7/README.md @@ -44,9 +44,9 @@ general physical validation. - [WEDGE6 robustness and external V&V](0_2_7_wedge6_robustness_external_vnv.md) Machine-readable records are indexed by -[`qualification/0_2_7/manifest.json`](../../../qualification/0_2_7/manifest.json), -[`capability_registry_v2.json`](../../../qualification/0_2_7/capability_registry_v2.json) -and [`release_truth.json`](../../../qualification/0_2_7/release_truth.json). +[`qualification/0_2_7/manifest.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/manifest.json), +[`capability_registry_v2.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/capability_registry_v2.json) +and [`release_truth.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/release_truth.json). ## Known limitations @@ -129,11 +129,11 @@ The remaining controlled records are available from this evidence index: - [WEDGE6 modal](0_2_7_wedge6_modal.md) - [S3 validation matrix](0_2_7_s3_expanded_validation.md) - [step freeze record](0_2_7_step1_release_freeze.md) -- [release manifest](../../../qualification/0_2_7/manifest.json) -- [gate records](../../../qualification/0_2_7/gates.json) -- [release truth](../../../qualification/0_2_7/release_truth.json) -- [S3 evidence](../../../qualification/0_2_7/s3_validation_matrix.json) -- [F6 evidence](../../../qualification/0_2_7/f6_numerical_performance_regression_audit.json) +- [release manifest](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/manifest.json) +- [gate records](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/gates.json) +- [release truth](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/release_truth.json) +- [S3 evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/s3_validation_matrix.json) +- [F6 evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/f6_numerical_performance_regression_audit.json) References to earlier prerelease versions, intermediate scores and planned work packages in this traceability area describe the state at that time. They diff --git a/docs/verification/0_2_8/README.md b/docs/verification/0_2_8/README.md new file mode 100644 index 00000000..41e495e6 --- /dev/null +++ b/docs/verification/0_2_8/README.md @@ -0,0 +1,371 @@ +--- +doc_id: DOC-028-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP01 maturity baseline — historical/intermediate record + +> **Historical / intermediate record.** This page preserves the chronological +> WP01 and WP13 working history for auditability. Interim dispositions below do +> not define the current public status. For current 0.2.8 maturity, use the +> [central capability index](../../capabilities/index.md) and the +> [consolidated registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json). + +## Current authoritative 0.2.8 state + +This file is a chronological WP13 record, so interim counts and failed +campaigns below are retained as historical observations. The authoritative +current element-analysis source is +[`qualification/0_2_8/consolidated_registry.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json): +32 `QUALIFIED_BOUNDED`, 14 `EXPERIMENTAL`, 0 `NOT_QUALIFIED`, total 46. + +Connected conforming mixed static, modal, translational-MPC and multi-material +workflows are separate `QUALIFIED_BOUNDED` records. Mixed Newmark and harmonic, +the bounded `.inp` subset, family-aware mixed HDF5 storage, bounded +frictionless contact and HEX8-SRI are separate `EXPERIMENTAL_BOUNDED` +workflows/capabilities. PYRAMID5 remains internal/research-only. The generic +mixed PETSc/MPI runtime remains `NOT_VALIDATED`; its WP13-01C initial +`FAIL_RUNTIME`, R1 `STILL_FAIL_RUNTIME`, R2 diagnostic +`PASS_DIAGNOSTIC_FIX_REQUIRED`, and R3/R4 `STILL_FAIL_PHYSICAL_CONVERGENCE` +history is not overridden by architecture readiness or partial two-rank results. + +This record audits the 46 active combination records from the public 0.2.7 +capability registry at the frozen baseline +`9a0d2ab8e8fc3509f0f7ea53bb93db0bd7d99ca5`. It is a planning disposition, +not a qualification-state change. The 0.2.7 registry and all its historical +evidence remain unchanged. + +The machine-readable source is +[`qualification/0_2_8/wp01_maturity_matrix.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp01_maturity_matrix.json). +It preserves the exact source-registry digest, every combination identifier, +the required next proof, test, oracle, tolerance policy, exit gate and risk. + +## Disposition policy (WP01 historical context) + +- `KEEP_QUALIFIED`: retain the current bounded 0.2.7 state; WP01 adds no claim. +- `PROMOTABLE_WITH_EXISTING_EVIDENCE`: reserved for a record with complete + evidence and an explicit existing Owner decision. No record meets that bar. +- `NEEDS_MINOR_VNV`: an existing bounded implementation and evidence basis + require a frozen replay, predeclared tolerance and Owner decision. +- `NEEDS_MAJOR_VNV`: a missing comparable oracle, route-level evidence or + scope expansion prevents a small administrative closure. +- `KEEP_EXPERIMENTAL`: a deliberate technical boundary remains out of scope. +- `NOT_QUALIFIED_TO_CLOSE`: the active record has an explicit unresolved + qualification gap. + +Every future numerical tolerance must name its observable, numerical value and +provenance before a run. Case-dependent values are allowed only when justified +by mesh, formulation and oracle. Retuning after a result is forbidden. + +## Matrix summary (WP01 historical context) + +| Disposition | Count | +| --- | ---: | +| `KEEP_QUALIFIED` | 20 | +| `PROMOTABLE_WITH_EXISTING_EVIDENCE` | 0 | +| `NEEDS_MINOR_VNV` | 9 | +| `NEEDS_MAJOR_VNV` | 8 | +| `KEEP_EXPERIMENTAL` | 8 | +| `NOT_QUALIFIED_TO_CLOSE` | 1 | + +## Combination dispositions (WP01 historical context) + +| Family | Routes and WP01 disposition | +| --- | --- | +| BEAM2 | static, modal: `NEEDS_MINOR_VNV`; Newmark, harmonic: `NEEDS_MAJOR_VNV`. | +| DISCRETE | static, modal: `NEEDS_MINOR_VNV`; Newmark, harmonic: `NEEDS_MAJOR_VNV`. | +| MITC3 | static: `NEEDS_MINOR_VNV`; modal, Newmark, harmonic: `NEEDS_MAJOR_VNV`. | +| MITC4 | static, modal, Newmark, harmonic: `NEEDS_MINOR_VNV`. | +| TET4 | static, modal, Newmark, harmonic, linear buckling: `KEEP_QUALIFIED`; nonlinear load control and geometric nonlinear static: `KEEP_EXPERIMENTAL`. | +| TET10 | static, modal, Newmark, harmonic, linear buckling: `KEEP_QUALIFIED`; nonlinear load control and geometric nonlinear static: `KEEP_EXPERIMENTAL`. | +| HEX8 | static, modal, Newmark, harmonic: `KEEP_QUALIFIED`; linear buckling: `NOT_QUALIFIED_TO_CLOSE`; nonlinear load control and geometric nonlinear static: `KEEP_EXPERIMENTAL`. | +| HEX20 | static, modal, Newmark, harmonic, linear buckling: `KEEP_QUALIFIED`; nonlinear load control and geometric nonlinear static: `KEEP_EXPERIMENTAL`. | +| WEDGE6 | modal: `KEEP_QUALIFIED`; static: `NEEDS_MAJOR_VNV`. | + +## Evidence findings and priority candidates (WP01 historical context) + +The source registry confirms that each active record has a declared +implementation path, tests and recorded evidence references. It also records +where those references are inherited from earlier releases rather than a new +0.2.8 decision. That distinction prevents an administrative promotion. + +1. **BEAM2 and DISCRETE static/modal** have existing element, workflow and + external/analytical evidence routes. Their remaining closure is a frozen + 0.2.8 replay manifest, predeclared observables/tolerances and an Owner + decision. Their transient and harmonic routes need a comparable history or + frequency-response oracle and remain major work. +2. **MITC4** has the strongest shell basis: existing static, modal, transient + and harmonic V&V paths need an explicit frozen replay and Owner decision, + not a new formulation. **MITC3 static** has a similar narrow path. +3. **MITC3 modal, transient and harmonic** lack the comparable independent + decks stated by the inherited record, so they are major V&V rather than a + maturity relabel. +4. **WEDGE6 static** remains major: its 0.2.7 Owner decision explicitly kept + it experimental. The existing Code_Aster PENTA6 affine same-mesh policy is + reusable only within its declared `1e-6` scope; refinement and distortion + need separately approved pre-execution tolerances. +5. **HEX8 buckling** remains not qualified. The prior diagnostic evidence is + not a closure: it needs a three-level refinement, comparable independent + oracle, replayed eigenpair evidence and Owner decision. + +The detailed candidate records in the machine-readable matrix name the exact +test file to add, oracle/reference, tolerance policy, exit gate and risk. No +candidate changes public maturity until its stated gate passes. + +## WP03 BEAM2 and DISCRETE V&V + +The completed technical campaign for BEAM2 and DISCRETE static/modal routes is +documented in [`WP03 V&V`](wp03_beam2_discrete_vnv.md). It records the frozen +analytical oracles, tolerances, invariants, two replays and bounded decisions. +The four dynamic routes were intentionally not decided by that WP03A record; +their separate bounded analytical campaign is documented in +[`WP03B dynamic V&V`](wp03b_dynamic_vnv.md). WP03B preserves every WP03A +static/modal decision. The resulting bounded maturity decisions are recorded +by the [`final WP03 Owner gate`](wp03_owner_gate_final.md): seven routes are +`QUALIFIED_BOUNDED`; DISCRETE Newmark remains `EXPERIMENTAL`. + +## WP04 MITC3 and MITC4 V&V + +The WP04 frozen contract, executable replays and bounded decision delta are +recorded in [`WP04 MITC V&V`](wp04_mitc_vnv.md) and its +[`machine-readable evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_mitc_vnv.json) +and [`WP04 maturity matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_maturity_matrix.json). +The final decisions are recorded in the [`WP04 Owner gate`](wp04_owner_gate_final.md) +and [`machine-readable Owner record`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_owner_gate_final.json). +MITC3 static, MITC4 static, MITC4 Newmark and MITC4 harmonic are technical +`QUALIFIED_BOUNDED` within their bounded scopes. MITC3 modal/Newmark/harmonic +remain `EXPERIMENTAL` because no executable independent shell oracle is +present. MITC4 modal also remains `EXPERIMENTAL`: its deterministic replay +misses the frozen relative-residual gate, and that tolerance was not relaxed. +Across the 46 source combinations: 32 are `QUALIFIED_BOUNDED`, 13 are +`EXPERIMENTAL`, and `COMB-HEX8-linear_buckling` is the sole +`NOT_QUALIFIED` combination. WEDGE6 static is distinct and is qualified only +within the bounded scope recorded by WP05. + +## Explicit boundaries + +The eight nonlinear combination records remain `KEEP_EXPERIMENTAL`: this WP +does not expand nonlinear scope, finite-kinematic J2, friction, GPU or +distributed nonlinear execution. No mixed-mesh, PYRAMID5, HEX8R, SRI, B-bar or +hourglass production claim is created by WP01. + +## WP05 WEDGE6 static V&V + +WP05 closes the technical V&V campaign for the WEDGE6 linear-static candidate +identified by WP01 as `NEEDS_MAJOR_VNV`. The bounded technical decision, +predeclared contract, current replays, face-load checks, geometry failure +paths and the audited Code_Aster evidence are recorded in +[`WP05 WEDGE6 V&V`](wp05_wedge6_vnv.md), its +[`machine-readable evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_wedge6_vnv.json) +and [`maturity delta`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_maturity_matrix.json). +The decision is `QUALIFIED_BOUNDED` for the exact static scope after the +separate Owner gate; the public maturity is now `QUALIFIED_BOUNDED` within +that scope, with the limitations recorded in the +[`WP05 Owner gate`](wp05_owner_gate_final.md). The machine-readable Owner record is +[`wp05_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_owner_gate_final.json). +Modal, Newmark and harmonic WEDGE6 routes are not promoted. + +## WP06 HEX8 linear-buckling assessment + +WP06 audits the sole `NOT_QUALIFIED` combination, +`COMB-HEX8-linear_buckling`, using the frozen +[`HEX8 buckling contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06_hex8_buckling_contract.json) +and executable [`campaign evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06_hex8_buckling_vnv.json). +The technical decision remains `NOT_QUALIFIED`: the Euler factor and +three-level refinement gates failed in both declared boundary configurations, +the invalid-orientation case did not fail closed, current CalculiX execution +was unavailable, and the two complete replay digests differed. The passing +preload, `Kg`, eigen-residual and mode-shape sub-checks do not override those +failed closure gates. + +The [`WP06 maturity delta`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06_maturity_matrix.json) +records no promotion and reconciles the unchanged global state as 32 +`QUALIFIED_BOUNDED`, 13 `EXPERIMENTAL` and one `NOT_QUALIFIED`, exactly +`COMB-HEX8-linear_buckling`. WEDGE6 static remains distinct. No 0.2.7 evidence +or numerical source was changed, and no Owner promotion gate is requested +while the technical decision is negative. + +## WP06B HEX8 buckling root-cause remediation + +WP06B starts from `be8fbd99d8a3d3b8e4ee3b8d867842389b063061` and reuses the +WP06 scope and tolerances without retuning. The +[`WP06B contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06b_hex8_buckling_contract.json) +classifies the Euler/refinement failures as model/scope limitations, the +original invalid-orientation probe as a test-oracle problem, and the replay +tail variation as sparse-solver start nondeterminism. The minimal remediation +fixes only the latter two test/replay issues: a fixed ARPACK start vector is +used, and a true mirrored HEX8 connectivity is tested. + +After remediation, invalid geometry, robustness and two complete deterministic +replays pass. The Euler factor and mesh-refinement gates still fail in the +unchanged scope, and the current CalculiX oracle remains unavailable. The +[`WP06B evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06b_hex8_buckling_vnv.json) +and [`WP06B maturity delta`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06b_maturity_matrix.json) +therefore retain `COMB-HEX8-linear_buckling` as `NOT_QUALIFIED`; no public +promotion or Owner gate is applied. No 0.2.7 evidence is changed and WP07 is +not started. + +## WP07 mixed TET4/WEDGE6/HEX8 linear static + +WP07 audits the existing family-generic architecture for one conforming +mixed-solid `linear_static` workflow. The frozen +[`WP07 contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_contract.json), +executable [`WP07 evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_vnv.json) +and [`WP07 candidate matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_matrix.json) +record the subsystem audit, affine/interface/load gates, Gmsh path, explicit +failure contract and two deterministic replays. + +All declared technical gates pass, producing +`QUALIFIED_BOUNDED_CANDIDATE` for the exact conforming TET4/WEDGE6/HEX8 +linear-static scope. The separate +[`WP07 Owner gate`](wp07_owner_gate_final.md) approves that workflow as +`QUALIFIED_BOUNDED` with limitations; the corresponding +[`Owner record`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_owner_gate_final.json) +keeps it separate from the 46 element-analysis combinations. The affine +refinement is a consistency check, not a general accuracy-convergence claim. +Dynamic and other analysis routes remain out of scope, no external solver +correlation is claimed, and no 0.2.7 evidence or prior WP01-WP06B record is +changed. + +## WP08 mixed TET4/WEDGE6/HEX8 modal + +WP08 audits the existing mixed consistent-mass modal route separately from the +46 element-analysis combinations and from the WP07 static workflow. The frozen +[`WP08 contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08_mixed_modal_contract.json), +machine-readable [`WP08 evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08_mixed_modal_vnv.json) +and [`WP08 matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08_mixed_modal_matrix.json) +cover conforming fixed-base TET4/WEDGE6/HEX8 pairwise and three-family cases, +the first six positive modes, an independent dense local-matrix oracle, mass +conservation, residuals, orthogonality, interface failure paths and two +deterministic replays. + +The mixed cases and the independent modal oracle pass. The first-frequency +refinement trend is finite and positive, but the predeclared shared-node +mode-matching gate fails on the first refinement transition (`MAC min ≈ 0.103` +against a `0.5` gate). WP08 therefore records +`SUPPORTED_WITH_LIMITATIONS`, applies no public promotion and requests no +Owner gate. No external industrial correlation is claimed, no modal stress +claim is made, and no 0.2.7 evidence or WP07 static claim is changed. + +## WP08B mixed modal refinement follow-up + +The [`WP08B root-cause audit`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_root_cause_audit.json) +shows that the failed WP08 refinement compared changing mechanical domains: +only the first WEDGE6/HEX8 segment was retained beyond level one. WP08B leaves +that record and its `0.5` gate unchanged, then uses a new predeclared contract +with the full invariant physical chain and a fine-mass mapped MAC comparator. + +All new mixed gates pass: volume/bounds are invariant, the first six modes are +globally matched without permutations, and the minimum mapped MAC is `0.9037`. +The resulting [`WP08B evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_mixed_modal_vnv.json) +and [`WP08B matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_mixed_modal_matrix.json) +record `QUALIFIED_BOUNDED_CANDIDATE` only. It remains a separate mixed-workflow +candidate, with no public maturity relabel or change to the 46 combination +records, pending a dedicated Owner gate. + +The dedicated [`WP08B Owner gate`](wp08b_owner_gate_final.md) approves the +workflow as `QUALIFIED_BOUNDED` with limitations. The qualification is limited +to modal linear analysis of the tested fixed-base conforming TET4/WEDGE6/HEX8 +chain, consistent translational mass, and the first six positive modes at +levels 1/2/4/8. Shape-function prolongation and the fine consistent-mass MAC +are the valid cross-mesh comparison; the original WP08 shared-node MAC gate +and its failure remain unchanged. No external correlation is claimed, and no +modal stress, Newmark, harmonic, nonlinear, contact, nonconforming, higher- +order-family or large-performance claim is created. The Owner decision is +recorded in the [`WP08B Owner record`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_owner_gate_final.json), +without changing the 46 element-analysis combinations or starting WP09. + +## WP09 PYRAMID5 feasibility gate + +WP09 records a bounded internal feasibility gate for a five-node linear +pyramid. The frozen [formulation](wp09_pyramid5_formulation.md), +[contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_contract.json), +[evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_vnv.json), and +[decision matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_matrix.json) +cover the collapsed-coordinate kernel, bounded geometry validation, affine +patch, loads, post-processing, Gmsh type-7 import, a conforming +HEX8/PYRAMID5/TET4 transition and two deterministic replays. + +The decision is `FEASIBLE_CONTINUE`, not a qualification or maturity +promotion. PYRAMID5 remains absent from the public compatibility descriptor +and the 46-combination element-analysis registry, so public dispatch remains +fail-closed. No coherent h-refinement or external-solver correlation is +claimed. WP07/WP08 scopes remain TET4/WEDGE6/HEX8 only, and WP10 is not +started. + +## WP10 HEX8 selective reduced integration research gate + +WP10 evaluates a separate HEX8 SRI research kernel under the frozen +[formulation](wp10_hex8_sri_formulation.md) and +[contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp10_hex8_sri_contract.json). The +[machine-readable evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp10_hex8_sri_vnv.json) +and [matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp10_hex8_sri_matrix.json) compare +the unchanged standard HEX8 with a deviatoric `2×2×2` plus volumetric centre +integration variant. + +The bounded campaign records measurable fine-level displacement-error +reduction on both declared bending families, with passing rank, rigid-body, +symmetry, energy, geometry and replay gates. The result is +`EXPERIMENTAL_BOUNDED_CANDIDATE`, not `QUALIFIED_BOUNDED`. A diagnostic +affine nodal-force action difference remains, so no general patch-force or +production accuracy claim is made. The Owner gate records +`APPROVE_EXPERIMENTAL_BOUNDED` as a separate documented research capability; +SRI is not added to the 46 element-analysis combinations and does not replace +standard HEX8. HEX8 standard and all prior WP01–WP09 records remain unchanged. +No WP11 large mixed workflow is started by this WP10 record. + +## WP11 mixed large-scale evidence + +WP11 records a mandatory 300,003-DOF mixed `linear_static` run using equal +counts of TET4, WEDGE6 and HEX8 in repeated conforming chains. The small +baseline, two large replays, residual/equilibrium/energy gates and environment +metadata pass. See the [WP11 evidence report](wp11_mixed_large_vnv.md), the +[frozen contract](wp11_mixed_large_contract.md), the +[machine-readable evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11_mixed_large_vnv.json) +and the [decision matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11_mixed_large_matrix.json). + +The bounded claim is only recorded large-scale mixed TET4/WEDGE6/HEX8 evidence +for this specific conforming linear-static route and environment. The repeated +chain topology is not an arbitrary connected industrial mesh. No accuracy, +production, modal, dynamic, nonlinear, PYRAMID5, HEX8-SRI or universal +scalability claim is made. The optional 1M and 3M targets were not run and remain +non-blockers; no 0.2.7 evidence or prior qualification record was changed. + +## WP11B HEX8 buckling experimental-readiness gate + +WP11B adds a separate pre-publication experimental-readiness record for HEX8 +linear eigenvalue buckling. Its frozen benchmark is a clamped solid cantilever +block under uniform end-face compression, not the historical pinned Euler model. +The three declared refinements produce finite positive factors with UZ-dominant +modes, passing prestress, geometric-stiffness, eigen-residual, scaling, +robustness and replay checks. Refinement is characterized honestly and is not +claimed to converge to Euler. + +The result is `EXPERIMENTAL_CANDIDATE`, proposing `EXPERIMENTAL` exposure only +after a separate Owner gate. The historical WP06 Euler and mesh-convergence +`FAIL` results remain unchanged, no external correlation is claimed, and no +0.2.7 evidence or numerical source was modified. See the [WP11B report](wp11b_hex8_buckling_experimental_vnv.md), +[contract](wp11b_hex8_buckling_experimental_contract.md), +[evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json) +and [matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json). + +## WP11B HEX8 buckling Owner gate + +The [WP11B Owner gate](wp11b_hex8_buckling_owner_gate_final.md) approves the +separate HEX8 linear-buckling route as `EXPERIMENTAL`, not +`QUALIFIED_BOUNDED`. The bounded scope is linear-elastic prestress, valid +clamped cantilever solid geometries, the first positive mode and exploratory or +research use only. The solid-block benchmark passes physical scaling, mode, +residual, robustness and deterministic replay checks. + +The refinement factors remain a characterization (`41.9397`, `21.5200`, +`17.8649`) and are not presented as general convergence or Euler evidence. The +WP06/WP06B Euler and convergence `FAIL` records, and the unavailable external +oracle, remain explicit. The 46 element-analysis records now reconcile to +`32 QUALIFIED_BOUNDED`, `14 EXPERIMENTAL`, `0 NOT_QUALIFIED`; only +`COMB-HEX8-linear_buckling` transitioned. No numerical source or 0.2.7 evidence +was changed, and no WP12 work is started. diff --git a/docs/verification/0_2_8/wp03_beam2_discrete_vnv.md b/docs/verification/0_2_8/wp03_beam2_discrete_vnv.md new file mode 100644 index 00000000..ec85efe3 --- /dev/null +++ b/docs/verification/0_2_8/wp03_beam2_discrete_vnv.md @@ -0,0 +1,114 @@ +--- +doc_id: DOC-028-WP03-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP03 — BEAM2 and DISCRETE V&V + +This record closes the WP03 technical V&V campaign for four narrowly bounded +routes selected by the WP01 maturity baseline. It does not rewrite 0.2.7 +evidence and does not claim universal validation, certification, or a general +BEAM2/DISCRETE maturity promotion. + +The machine-readable record is +[`wp03_beam2_discrete_vnv.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp03_beam2_discrete_vnv.json). +The WP03 decision delta is maintained separately in +[`wp03_maturity_matrix.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp03_maturity_matrix.json); +the WP01 baseline remains unchanged. +The executable campaign is +[`test_028_beam2_discrete_vnv.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/tests/verification/test_028_beam2_discrete_vnv.py). + +## Frozen campaign contract + +The baseline is `598704c834b4642f7c2a9a1fdc7595895f9e4130`. Before execution, +the campaign froze the scope, hypotheses, analytical oracle and tolerance for +each case in the JSON record. Each case was executed twice and the replay +digests were identical. The test also reruns both replays, so the committed +observations are checked against the current implementation rather than being +treated as unchecked narrative. + +| Case | WP01 state | Oracle | Decision | Public maturity action | +| --- | --- | --- | --- | --- | +| BEAM2 static | `NEEDS_MINOR_VNV` | Timoshenko cantilever closed form | `QUALIFIED_BOUNDED` | Owner confirmation pending | +| BEAM2 modal | `NEEDS_MINOR_VNV` | slender cantilever first two bending frequencies | `QUALIFIED_BOUNDED` | Owner confirmation pending | +| DISCRETE static | `NEEDS_MINOR_VNV` | scalar spring solutions and assembly invariants | `QUALIFIED_BOUNDED` | Owner confirmation pending | +| DISCRETE modal | `NEEDS_MINOR_VNV` | closed-form uncoupled mass-spring frequencies | `QUALIFIED_BOUNDED` | Owner confirmation pending | + +`QUALIFIED_BOUNDED` is the technical V&V decision recorded by WP03. The +technical evidence record retains `promotion_applied: false`; the separate +[`final WP03 Owner gate`](wp03_owner_gate_final.md) applies the approved +bounded maturity action without rewriting this campaign record. + +## BEAM2 static + +The campaign covers a straight, constant-section, isotropic BEAM2 cantilever +in small displacement linear statics. It exercises axial traction, transverse +flexion in both planes and torsion on one-, two- and four-element meshes. + +The oracle is the closed-form Timoshenko cantilever tip displacement. The +checks also require reaction balance, strain-energy identity, solver residual +and six rigid-body modes in the unconstrained element stiffness. The maximum +observed relative displacement error is `2.32e-15`; the maximum reaction +equilibrium error is `2.40e-14`; the maximum relative residual is `4.97e-14`. +All are below the predeclared `1e-10` limits. + +The qualified scope excludes releases, offsets, variable sections, plasticity, +contact, large rotations and distributed dynamic loading. + +## BEAM2 modal + +The modal case is a straight slender cantilever with coherent mass, positive +density, fixed root and no damping. The first two bending frequencies on one-, +two- and four-element meshes are compared with the Euler-Bernoulli slender +reference. This oracle is deliberately bounded: it does not qualify thick-beam +shear behavior. + +The maximum frequency error is `0.4333 %`, below the frozen `1 %` limit. The +maximum eigen-residual is `5.26e-12`, and the maximum mass-orthogonality error +is `2.38e-16`, both below `1e-8`. The declared fixed-root model has two +positive frequencies in the requested first-two-mode replay; rigid-body and +rank behavior is checked separately by the static stiffness invariant. + +The qualified scope excludes damping, nonlinear dynamics, joints, offsets, +multi-body coupling and thick-beam extrapolation. + +## DISCRETE static + +The static campaign uses three uncoupled translational ground springs with +`k = (1000, 4000, 9000) N/m`, a concentrated mass of `10 kg`, and loads +`(25, -20, 45) N`. The closed-form oracle is `u = F/k`. It additionally checks +static equilibrium, energy identity, a two-node rigid translation null mode, +and equal/opposite spring forces. + +All observed scalar errors are zero at the recorded precision and are below +the frozen `1e-12` limits. The scope excludes coupled multi-DOF systems, +rotational inertia, local orientations, nonlinear laws, gaps and damping. + +## DISCRETE modal + +The modal campaign uses the same three uncoupled translational spring +directions and mass. The oracle is `f_i = sqrt(k_i/m)/(2 pi)`, producing +`1.5915494309`, `3.1830988618` and `4.7746482928 Hz`. + +The replay matches all three frequencies at recorded precision. The maximum +eigen-residual is `1.80e-16` and mass-orthogonality error is zero, below the +frozen `1e-12` limits. The scope excludes rotational inertia, coupled mass, +multi-node coupling, damping and transient extrapolation. + +## Routes not closed by WP03 + +BEAM2 Newmark, BEAM2 harmonic, DISCRETE Newmark and DISCRETE harmonic remain +`EXPERIMENTAL`. Their required independent time-history or frequency-response +oracles, phase/amplitude conventions and route-specific tolerances were not +executed in this WP. Existing historical references are not substituted for +the absent reproducible 0.2.8 evidence. + +## Decision and next gate + +WP03 establishes four technical `QUALIFIED_BOUNDED` decisions and its +historical route list remains unchanged. The final Owner gate is recorded +separately after WP03B, so the frozen evidence is not rewritten. diff --git a/docs/verification/0_2_8/wp03_owner_gate_final.md b/docs/verification/0_2_8/wp03_owner_gate_final.md new file mode 100644 index 00000000..3b55fb66 --- /dev/null +++ b/docs/verification/0_2_8/wp03_owner_gate_final.md @@ -0,0 +1,55 @@ +--- +doc_id: DOC-028-WP03-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP03 — final Owner gate + +This record closes the Owner gate against commit +`6895576206e163cfb9999ba74f5b4cbf081b1c98`. It records seven bounded +promotions and one rejected promotion. It does not alter numerical source or +0.2.7 evidence, and it does not claim general element validation, +certification, external correlation or universal maturity. + +The machine-readable decision is +[`wp03_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp03_owner_gate_final.json). +It pins the SHA-256 digests of the technical WP03A and WP03B evidence and +updates the final +[`WP03 maturity matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp03_maturity_matrix.json). + +## Audit outcome + +The seven promotions are **APPROVE_WITH_LIMITATIONS**. Their predeclared scope +and tolerance records, analytical oracle, replay determinism, convergence and +applicable amplitude, phase or energy checks pass. The oracles are sufficient +for the declared scalar or slender analytical systems, but are not used to +extend the claim to arbitrary BEAM2 or DISCRETE models. + +| Route | Owner decision | Resulting maturity | +| --- | --- | --- | +| BEAM2 static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| BEAM2 modal | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| BEAM2 Newmark | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| BEAM2 harmonic | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| DISCRETE static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| DISCRETE modal | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| DISCRETE harmonic | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| DISCRETE Newmark | `REJECT` | `EXPERIMENTAL` | + +## Retained rejection + +DISCRETE Newmark remains `EXPERIMENTAL`. Its deterministic coarse-step phase +error is `0.0128952201 rad`, above the frozen `0.012 rad` gate. The time grid +and gate were not altered after the result, and no promotion is authorized. + +## Claim boundary + +Every approved route remains `QUALIFIED_BOUNDED` only within the limitations +in its technical evidence. In particular, the dynamic BEAM2 and DISCRETE +claims are one-degree-of-freedom analytical cases and do not qualify general +multi-element, multi-DOF, nonlinear, contact, alternative damping or external +solver-correlated response. diff --git a/docs/verification/0_2_8/wp03b_dynamic_vnv.md b/docs/verification/0_2_8/wp03b_dynamic_vnv.md new file mode 100644 index 00000000..755fc0a8 --- /dev/null +++ b/docs/verification/0_2_8/wp03b_dynamic_vnv.md @@ -0,0 +1,104 @@ +--- +doc_id: DOC-028-WP03B-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP03B — BEAM2 and DISCRETE dynamic V&V + +This addendum records a bounded analytical campaign for the four BEAM2 and +DISCRETE dynamic routes left experimental by WP03A. It does not modify 0.2.7 +evidence, numerical source code, or the four static/modal decisions recorded +by WP03A. It does not claim universal dynamic validation or certification. + +The machine-readable record is +[`wp03b_dynamic_vnv.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp03b_dynamic_vnv.json). +Its decision delta is +[`wp03b_maturity_matrix.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp03b_maturity_matrix.json), +which explicitly preserves the WP03A static/modal decisions. The executable +campaign is +[`test_028_beam2_discrete_dynamic_vnv.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/tests/verification/test_028_beam2_discrete_dynamic_vnv.py). + +## Frozen campaign contract + +The baseline is `6b9c08f91c876bf5136a9da39555149b89dc2b98`. Before execution, +the machine-readable record froze each route's system, assumptions, analytical +oracle, observables and tolerances. Each route is executed twice and must yield +identical canonical replay digests. This is reproducible analytical V&V, not a +substitution for an unavailable historical external artefact. + +| Route | Analytical oracle | Decision | Public maturity action | +| --- | --- | --- | --- | +| BEAM2 Newmark | exact axial SDOF free vibration | `QUALIFIED_BOUNDED` | Owner confirmation pending | +| BEAM2 harmonic | exact damped axial SDOF FRF | `QUALIFIED_BOUNDED` | Owner confirmation pending | +| DISCRETE Newmark | exact damped mass-spring response | `EXPERIMENTAL` | No maturity action | +| DISCRETE harmonic | exact damped mass-spring FRF | `QUALIFIED_BOUNDED` | Owner confirmation pending | + +The analytical oracle is appropriate because each system is deliberately a +single declared physical degree of freedom with closed-form coefficients. The +oracle is independent of the Newmark time stepping and direct complex solve; +it does not extend the result to general beam or discrete assemblies. + +## BEAM2 Newmark + +The case is one straight, constant-section, isotropic BEAM2 with fixed root, +consistent axial mass and UX-only initial displacement. It is undamped free +vibration for four periods using Newmark average acceleration at 40 and 80 +samples per period. The physical reference is +`u(t) = u0 cos(omega t)` with `omega = sqrt((EA/L)/(rho A L/3))`. + +The frozen checks cover displacement and velocity histories, zero-crossing +frequency, state-plane phase, amplitude, mechanical-energy conservation, time +step refinement and deterministic replay. The scope excludes transverse +dynamics, releases, joints, offsets, distributed loads, nonlinear response and +multi-element extrapolation. + +## BEAM2 harmonic + +The same axial BEAM2 is driven by a unit UX harmonic load with a declared +mass-proportional damping ratio of `0.02`. Seven frozen frequency ratios span +below resonance, the sampled resonance point and above resonance. The oracle +is `H(omega) = 1/(k - omega^2 m + i omega alpha m)`. + +Amplitude, wrapped phase, complex response, solver residual, sampled resonance +and two off-resonance comparisons are checked. The sampled peak is not a +continuous resonance search and does not qualify transverse or general BEAM2 +frequency response. + +## DISCRETE Newmark + +The case is one grounded UX spring (`1000 N/m`) and one `10 kg` concentrated +mass, with initial displacement `0.02 m`, zero initial velocity and declared +mass-proportional damping ratio `0.02`. The underdamped closed form supplies +displacement, velocity, damped frequency and state-plane phase references. + +The campaign checks two time steps, deterministic replay, monotone mechanical +energy, and the balance of mechanical energy plus trapezoid-integrated damping +power. The energy quadrature is only a verification observable; it does not +add a new solver output. Coupled stiffness/mass, rotational inertia, local +orientations, gaps, nonlinear springs and multi-node systems remain outside +the qualified scope. + +## DISCRETE harmonic + +The same scalar spring-mass system uses the same declared damping ratio and +seven frozen frequency ratios. The damped SDOF complex FRF is the closed-form +oracle. The campaign checks amplitude, phase, complex response, residual, +sampled resonance and off-resonance behavior. It does not qualify general MDOF +or alternative damping-model harmonic response. + +## Decision and Owner gate + +BEAM2 Newmark, BEAM2 harmonic and DISCRETE harmonic meet their predeclared +bounded technical gates. DISCRETE Newmark is intentionally retained as +`EXPERIMENTAL`: its coarse-step phase error is `0.0128952201 rad`, above the +frozen `0.012 rad` limit. The tolerance and time grid were not adjusted after +the result. + +The technical record retains its pre-Owner state. The final Owner decision is +maintained separately in the +[`final WP03 Owner gate`](wp03_owner_gate_final.md), so its frozen scope, +tolérances and replay observations are not rewritten. diff --git a/docs/verification/0_2_8/wp04_mitc_vnv.md b/docs/verification/0_2_8/wp04_mitc_vnv.md new file mode 100644 index 00000000..db5040e9 --- /dev/null +++ b/docs/verification/0_2_8/wp04_mitc_vnv.md @@ -0,0 +1,104 @@ +--- +doc_id: DOC-028-WP04-001 +revision: 0.3 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP04 — MITC3 and MITC4 V&V + +This record freezes the WP04 contract from baseline +`2a6a02859e3f19ddf26903167de1db6fdd3f3c7c`. The machine-readable contract is +[`wp04_mitc_vnv.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_mitc_vnv.json). + +## Historical evidence audit + +WP01 classified MITC3 static as `NEEDS_MINOR_VNV`, MITC3 modal/Newmark/harmonic +as `NEEDS_MAJOR_VNV`, and all four MITC4 routes as `NEEDS_MINOR_VNV`. The +historical Owner review documents remain useful provenance, but their cited +`qualification/vnv`, `qualification/evidence`, `results` and PDF artifacts are +not all present in this clone. They are therefore not treated as current +executable correlations and are not recreated or rewritten. + +## Frozen scope and decision rule + +The campaign promotes only bounded, reproducible scopes. MITC3 static uses +affine membrane/bending/shear patches, rigid-body and energy/reaction +invariants, locking and reference-shell trends. MITC3 modal, Newmark and +harmonic remain experimental because their current independent same-mesh +oracles are missing. + +MITC4 static uses element mechanics, patch, orientation/objectivity, drilling, +locking and declared structural convergence. MITC4 modal uses a slender +cantilever analytical reference, but its final relative-residual observation +(`2.6317020430528298e-08`) does not meet the stricter frozen WP04 limit +(`1e-08`), so it remains `EXPERIMENTAL`. MITC4 Newmark uses an exact +first-mode time history with temporal refinement and energy checks. MITC4 +harmonic uses a closed-form first-mode FRF across several frequencies, +including zero-frequency and resonance checks. + +All limits are predeclared in the JSON record before the WP04 campaign. A +technical `PASS` is not a universal claim: each accepted route remains bounded +by the exact geometry, material, mesh, loading, damping and observable scope +listed in the record. + +## Local orientation, permutations and thickness + +The executable shell checks include local-frame/objectivity and orientation +contracts, consistent node ordering, rigid-body invariance and finite positive +thickness cases. Reversed or inconsistent shell orientation remains rejected +by the mesh contract; it is not silently repaired into a qualification pass. + +## External correlation policy + +No absent historical Code_Aster, CalculiX or PDF artifact is counted as a live +correlation. The approved MITC4 dynamic scopes use independent analytical +time/frequency references because their claims are explicitly limited to a +single verified mode. The MITC3 dynamic routes do not receive that promotion: +same-assembled-model internal references alone do not close their route-level +oracle requirement. + +## Executed decision snapshot + +| Combination | WP04 decision | Evidence status | +| --- | --- | --- | +| MITC3 linear static | `QUALIFIED_BOUNDED` candidate | Two deterministic replays; patch, equilibrium, energy, orientation, permutation and locking gates pass. Reference-shell trends remain bounded warnings. | +| MITC3 modal / Newmark / harmonic | `EXPERIMENTAL` | No executable independent shell oracle is present in the clone. | +| MITC4 linear static | `QUALIFIED_BOUNDED` candidate | Two deterministic replays; mechanics, patches, drilling sensitivity and structural convergence gates pass. Cook is retained as a bounded trend warning. | +| MITC4 modal | `EXPERIMENTAL` | Two deterministic replays pass the study's internal checks, but the predeclared WP04 residual gate fails; no tolerance was relaxed. | +| MITC4 Newmark | `QUALIFIED_BOUNDED` candidate | Two deterministic replays pass the declared time-step, phase/period, energy and residual gates. | +| MITC4 harmonic | `QUALIFIED_BOUNDED` candidate | Two deterministic replays pass the declared multi-frequency amplitude, phase, resonance, static-limit and residual gates. | + +The machine-readable replay digests, observed values and test references are +recorded in [`wp04_mitc_vnv.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_mitc_vnv.json). +The eight-route decision delta is summarized in the +[`WP04 maturity matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_maturity_matrix.json). +The final Owner decisions are recorded in +[`wp04_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_owner_gate_final.json). +The four approved bounded routes are now `QUALIFIED_BOUNDED` within the scopes +below; no claim is broadened beyond the evidence. + +Across the 46-record technical matrix after the WP03 and WP04 deltas, the +state is 31 `QUALIFIED_BOUNDED`, 14 `EXPERIMENTAL`, and 1 +`NOT_QUALIFIED`, for a total of 46. The sole not-qualified combination is +`COMB-HEX8-linear_buckling`. `COMB-WEDGE6-linear_static` remains a distinct +`EXPERIMENTAL` combination and is not confused with that status. + +## Final Owner gate + +| Combination | Owner decision | Resulting state | Limitation or rejected gate | +| --- | --- | --- | --- | +| MITC3 linear static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | Executed patch, equilibrium, energy, orientation, permutation and locking scope only. | +| MITC3 modal | `REJECT` | `EXPERIMENTAL` | No executable independent shell modal oracle. | +| MITC3 Newmark | `REJECT` | `EXPERIMENTAL` | No executable independent same-mesh transient shell oracle. | +| MITC3 harmonic | `REJECT` | `EXPERIMENTAL` | No executable independent same-mesh shell FRF oracle. | +| MITC4 linear static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | Executed mechanics, patch, equilibrium, drilling and reference-mesh scope only. | +| MITC4 modal | `REJECT` | `EXPERIMENTAL` | Relative residual `2.6317020430528298e-08` exceeds frozen `1e-08` gate. | +| MITC4 Newmark | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | Verified first-mode, undamped Newmark temporal scope only. | +| MITC4 harmonic | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | Verified first-mode, seven-frequency, mass-proportional damping scope only. | + +The Owner gate found no numerical-core change, no opportunistic tolerance +change and no alteration of 0.2.7 evidence. The machine-readable gate also +reconciles all 46 source combination records directly. diff --git a/docs/verification/0_2_8/wp04_owner_gate_final.md b/docs/verification/0_2_8/wp04_owner_gate_final.md new file mode 100644 index 00000000..fd0dd57b --- /dev/null +++ b/docs/verification/0_2_8/wp04_owner_gate_final.md @@ -0,0 +1,65 @@ +--- +doc_id: DOC-028-WP04-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP04 — final Owner gate + +This Owner gate audits commit +`0496467120997b0c23f6817eb2f6e76eeda698d8` and applies only the WP04 +decisions. The machine-readable decision record is +[`wp04_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp04_owner_gate_final.json). +No numerical source, tolerance or 0.2.7 evidence is changed. + +## Decisions + +| Combination | Decision | Resulting state | +| --- | --- | --- | +| MITC3 linear static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| MITC3 modal | `REJECT` | `EXPERIMENTAL` | +| MITC3 Newmark | `REJECT` | `EXPERIMENTAL` | +| MITC3 harmonic | `REJECT` | `EXPERIMENTAL` | +| MITC4 linear static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| MITC4 modal | `REJECT` | `EXPERIMENTAL` | +| MITC4 Newmark | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| MITC4 harmonic | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | + +The four approvals remain bounded by the frozen WP04 scopes, oracles, +tolerances, convergence cases, invariants, dynamic amplitude/phase checks, +energy checks and two deterministic replays documented in +[`WP04 MITC V&V`](wp04_mitc_vnv.md). MITC4 modal is explicitly rejected for +promotion because its replay residual is `2.6317020430528298e-08`, above the +predeclared `1e-08` gate. MITC3 dynamic routes are rejected for promotion +because the required executable independent shell oracles are absent. + +## Registry reconciliation + +The reconciliation reads the 46 `record_kind=combination` records directly +from [`capability_registry_v2.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/capability_registry_v2.json), +then applies the finalized WP03 and WP04 deltas: + +| State | Source 0.2.7 | Final 0.2.8 | +| --- | ---: | ---: | +| `QUALIFIED_BOUNDED` | 20 | 31 | +| `EXPERIMENTAL` | 25 | 14 | +| `NOT_QUALIFIED` | 1 | 1 | +| **Total** | **46** | **46** | + +The sole `NOT_QUALIFIED` combination is +`COMB-HEX8-linear_buckling`. `COMB-WEDGE6-linear_static` remains +`EXPERIMENTAL`; it is not converted into, or confused with, the HEX8 +buckling status. + +## Integrity result + +- claims remain bounded to the recorded scopes; +- no opportunistic numerical-core change was found; +- no tolerance was retuned; +- 0.2.7 evidence remains untouched; +- the owner record stores SHA-256 digests for the WP04 evidence and document. + +WP05 is not started by this gate. diff --git a/docs/verification/0_2_8/wp05_owner_gate_final.md b/docs/verification/0_2_8/wp05_owner_gate_final.md new file mode 100644 index 00000000..d3ebbac4 --- /dev/null +++ b/docs/verification/0_2_8/wp05_owner_gate_final.md @@ -0,0 +1,84 @@ +--- +doc_id: DOC-028-WP05-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP05 — final Owner gate + +This Owner gate audits commit +`e9d83047b310cd85380551d8096d898090a7cba9` and applies only the WP05 +decision. The machine-readable record is +[`wp05_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_owner_gate_final.json). +No numerical source, tolerance or 0.2.7 evidence is changed. + +## Decision + +| Combination | Owner decision | Resulting state | +| --- | --- | --- | +| WEDGE6 linear static | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| WEDGE6 modal | Not in this gate | unchanged | +| WEDGE6 Newmark | Not in this gate | unchanged | +| WEDGE6 harmonic | Not in this gate | unchanged | + +The evidence record is [`WP05 WEDGE6 V&V`](wp05_wedge6_vnv.md), with the +pre-declared contract, machine-readable results and maturity delta linked from +that page. The approved scope is Gmsh Prism 6 WEDGE6, homogeneous isotropic +small-strain linear elasticity, linear static analysis, the declared nodal, +body/gravity, TRI3-pressure, QUAD4-pressure and surface-traction contracts, +conforming prism assemblies, declared valid distortions and explicit failure +of invalid geometry. It includes the recorded displacement, Gauss-point +strain/stress, energy, reactions and global equilibrium checks. + +## External-oracle limitation + +The external result is `PASS_WITH_LIMITATIONS`, not a universal correlation +claim. WP05 audits the controlled 0.2.7 Code_Aster 18.1 PENTA6 artifact by +reference; it does not present that artifact as a new WP05 Code_Aster run. The +artifact contains 12 comparable primary-observable cases and all 12 pass, with +the current numerical source unchanged since the external source commit. + +CalculiX C3D6 remains `NOT_COMPARABLE` because its integration convention does +not match the QF `TRI3_X_GAUSS2` contract. No external stress qualification is +claimed without an equivalent sampling contract. This limitation is +compatible with the bounded static promotion because the public claim is +restricted to the recorded QF checks and Code_Aster primary observables. + +## Additional limitations + +- Modal, Newmark and harmonic WEDGE6 routes are not promoted. +- Nonlinear, J2, Total-Lagrangian, contact, WEDGE15, mixed-mesh and unbounded + arbitrary-distortion claims remain excluded. +- Automatic orientation repair is not claimed; coincident, nonfinite, + inverted, wrong-order and negative-Jacobian geometry must fail explicitly. +- The external correlation is limited to the declared tolerance classes and + primary observables; it does not qualify arbitrary stress sampling. + +## Registry reconciliation + +The 46 `record_kind=combination` records are counted directly from +[`capability_registry_v2.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/capability_registry_v2.json). +The prior WP03 and WP04 decisions are preserved, then the single WP05 +promotion is applied: + +| State | Source 0.2.7 | After WP05 Owner gate | +| --- | ---: | ---: | +| `QUALIFIED_BOUNDED` | 20 | 32 | +| `EXPERIMENTAL` | 25 | 13 | +| `NOT_QUALIFIED` | 1 | 1 | +| **Total** | **46** | **46** | + +The sole `NOT_QUALIFIED` combination remains +`COMB-HEX8-linear_buckling`. `COMB-WEDGE6-linear_static` is distinct from +that record and is now `QUALIFIED_BOUNDED` only within the scope above. + +## Integrity result + +- all WP05 gates and two deterministic replay lots pass; +- the external limitation is retained rather than hidden or generalized; +- no opportunistic numerical-core or tolerance change was found; +- no 0.2.7 evidence was rewritten; +- no WP06 work is started by this gate. diff --git a/docs/verification/0_2_8/wp05_wedge6_vnv.md b/docs/verification/0_2_8/wp05_wedge6_vnv.md new file mode 100644 index 00000000..d935147f --- /dev/null +++ b/docs/verification/0_2_8/wp05_wedge6_vnv.md @@ -0,0 +1,117 @@ +--- +doc_id: DOC-028-WP05-001 +revision: 0.2 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP05 — WEDGE6 static V&V + +WP05 audits the `COMB-WEDGE6-linear_static` record identified by WP01 as +`NEEDS_MAJOR_VNV`. The campaign is additive: it does not rewrite any 0.2.7 +record or change the numerical source. Its public decision is recorded by the +separate Owner gate below and is limited to the exact static scope. + +The frozen contract is +[`wp05_wedge6_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_wedge6_contract.json). +The machine-readable campaign record is +[`wp05_wedge6_vnv.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_wedge6_vnv.json), +and its maturity delta is +[`wp05_maturity_matrix.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_maturity_matrix.json). +The final Owner decision is recorded in +[`wp05_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp05_owner_gate_final.json). +The executable campaign is +[`run_wp05_wedge6.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/scripts/run_wp05_wedge6.py), with focused +checks in +[`test_028_wedge6_static_campaign.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/tests/verification/test_028_wedge6_static_campaign.py). + +## Frozen scope and tolerances + +The candidate scope is the existing six-node Gmsh Prism 6 route for linear +static homogeneous isotropic small-strain elasticity. It includes the current +nodal, body/gravity, uniform TRI3 pressure, uniform QUAD4 pressure and +constant surface-traction contracts; conforming prism assembly; reactions, +force/moment equilibrium; displacement, Gauss-point strain/stress and strain +energy recovery. + +The production `TRI3_X_GAUSS2` rule is compared with the independent +verification-only Duffy rule. Valid affine, skewed, aspect-ratio and +near-degenerate-warning cases are bounded explicitly. Flat, inverted, +nonfinite, coincident and wrong-order cases remain fail-closed; no automatic +orientation repair is claimed. + +The contract freezes the identity, rank, residual, patch, energy and load +resultant limits before execution. External comparison classes retain the +predeclared `1e-6` affine same-mesh and `1e-5` distorted/refinement limits; +their approval state remains `OWNER_REVIEW_REQUIRED`. No threshold was tuned +after observing a result. + +## Executed evidence + +At baseline `0ad191a41b45283cff53bb461996b08c8dc2739a`, the current replay +lots were deterministic: + +- WP07: 8 cases, 7 `PASS`, 1 `EXPECTED_FAILURE_PASS`; +- WP08: 15 cases, 14 `PASS`, 1 `EXPECTED_FAILURE_PASS`; +- WP09 internal: 22 cases, 18 `PASS`, 4 `EXPECTED_FAILURE_PASS`. + +Each lot was executed twice and its result digests matched. The elemental +checks passed for partition of unity, derivatives, affine mapping, positive +Jacobian, stiffness symmetry, rank 12, six rigid-body modes, affine strain, +constitutive stress, energy and production/reference quadrature. All five +canonical faces were checked: both TRI3 faces and all three QUAD4 faces. + +The multi-element refinement ladder contains one, two and four conforming +prisms. Reactions, free residuals, force balance and moment balance remain +finite and below the frozen internal limits. Post-processing contains six +finite production Gauss-point records with strain and stress values. + +## Independent correlation boundary + +The controlled 0.2.7 Code_Aster 18.1 PENTA6 artifact is audited by reference, +not rewritten or falsely presented as a new 0.2.8 execution. It contains 12 +comparable bounded cases covering affine loads, TRI3/QUAD4 pressure, +prescribed displacement, a conforming multi-element case, one declared +distortion and refinement levels 1, 2 and 4. All 12 primary comparisons pass. +The maximum recorded relative errors are `2.93e-15` for displacement, +`3.60e-15` for total reaction and `2.48e-15` for strain energy against the +predeclared classes. Its external final replay and QF replay both pass. + +The inherited CalculiX C3D6 path remains `NOT_COMPARABLE` because its +integration convention differs from QF `TRI3_X_GAUSS2`. No stress +qualification is inferred from either external artifact. + +## Technical decision and boundary + +The WP05 technical decision is `QUALIFIED_BOUNDED` for the exact static scope +above. The Owner gate approved that scope with limitations; the public state is +now `QUALIFIED_BOUNDED` only for `COMB-WEDGE6-linear_static`. This result does +not promote WEDGE6 modal, Newmark or harmonic routes and does not change the +sole 0.2.8 `NOT_QUALIFIED` combination, `COMB-HEX8-linear_buckling`. + +## Final Owner gate + +The Owner decision is `APPROVE_WITH_LIMITATIONS`. The approved claim is limited +to Gmsh Prism 6 WEDGE6, homogeneous isotropic small-strain linear elasticity, +linear static analysis, the declared nodal/body/gravity/TRI3-pressure/QUAD4- +pressure/surface-traction contracts, conforming prism assemblies, declared +valid distortions and explicit failure of invalid geometry. It includes the +recorded displacement, Gauss-point strain/stress, energy, reactions and global +equilibrium checks. + +The external limitation is retained: the independent evidence is the audited +0.2.7 Code_Aster 18.1 PENTA6 artifact, not a new WP05 Code_Aster execution. +Its 12 comparable primary-observable cases pass, while CalculiX C3D6 remains +`NOT_COMPARABLE`; no external stress qualification is claimed. Modal, Newmark, +harmonic, nonlinear, WEDGE15, mixed-mesh, arbitrary-distortion and other +unexecuted routes remain outside the qualification. + +After this gate the 46-combination reconciliation is 32 +`QUALIFIED_BOUNDED`, 13 `EXPERIMENTAL` and 1 `NOT_QUALIFIED`. The sole +not-qualified combination remains `COMB-HEX8-linear_buckling`; WEDGE6 static +is distinct from it. + +No numerical bug was found or fixed. No file under `src/` or +`qualification/0_2_7/` was changed. diff --git a/docs/verification/0_2_8/wp06_hex8_buckling_vnv.md b/docs/verification/0_2_8/wp06_hex8_buckling_vnv.md new file mode 100644 index 00000000..b1cd4d7c --- /dev/null +++ b/docs/verification/0_2_8/wp06_hex8_buckling_vnv.md @@ -0,0 +1,79 @@ +--- +doc_id: DOC-028-WP06-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP06 HEX8 linear-buckling assessment + +WP06 audits the sole `NOT_QUALIFIED` source combination, +`COMB-HEX8-linear_buckling`, from the WP01 maturity baseline. The campaign +does not alter the numerical source, the 0.2.7 registry or historical +evidence. Its machine-readable contract and output are +[`the frozen contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06_hex8_buckling_contract.json) +and [`the campaign evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06_hex8_buckling_vnv.json). + +## Frozen scope and gates + +The candidate scope was first linearized tangent-instability factor and first +mode for homogeneous isotropic small-strain HEX8 rectangular columns under a +converged proportional nodal dead-compression preload. It covered two bounded +configurations (cantilever and pinned-pinned lateral), three structured mesh +levels, scale and preload perturbations, and explicit invalid/singular failure +paths. It excluded HEX8R/SRI/B-bar/hourglass formulations, post-buckling, +collapse, multi-mode, plates, mixed meshes and universal buckling claims. + +The independent analytical oracle was Euler's column factor with the declared +weak-axis inertia and boundary coefficients. The frozen gates were 10% factor +error, 0.90 mode MAC, 1% final adjacent refinement change, 1e-7 relative +eigen residual, 1e-12 relative `Kg` symmetry, 1e-8 preload residual, 2% scale +and preload relations, and exact equality of the two complete replay digests. +No tolerance was changed after observing results. + +## Technical result + +The decision is **`NOT_QUALIFIED`**; no public promotion was applied. + +The internal preload, `Kg` symmetry/sign and eigen-residual checks passed for +the valid rows, and the first-mode shape comparison passed. These sub-checks +do not close the qualification because the factor oracle and refinement gates +failed in both configurations: + +| Configuration | Factors at `(2,2,2)`, `(4,4,4)`, `(6,6,6)` | Final adjacent change | Result | +| --- | --- | ---: | --- | +| Cantilever | 41.939686, 21.519986, 17.864878 | 0.204597 | `FAIL` | +| Pinned-pinned lateral | 112.004242, 49.246181, 28.216482 | 0.745298 | `FAIL` | + +The Euler factor-relative-error gate also failed at every declared level. The +invalid-orientation input did not fail explicitly, so the robustness campaign +failed even though scale/preload proportionality passed and the singular +boundary case failed closed. + +The current CalculiX C3D8 execution was not available because the Docker +daemon could not be reached. The historical 0.2.6 CalculiX record is retained +as an audited historical artifact only; it is not counted as current WP06 +execution evidence. Code_Aster remains `NOT_COMPARABLE` unless an equivalent +solid eigen-buckling modelisation is demonstrated. + +Two complete campaign replays were recorded. Their digests differed, so the +determinism gate failed. A separate fine-mesh spot check was numerically stable, +but it does not replace the required complete-campaign replay gate. + +## Maturity and next gate + +The 46-combination reconciliation remains: + +- `32 QUALIFIED_BOUNDED`; +- `13 EXPERIMENTAL`; +- `1 NOT_QUALIFIED`, exactly `COMB-HEX8-linear_buckling`. + +`WEDGE6 static` is distinct from this `NOT_QUALIFIED` status and is not +changed by WP06. A future closure attempt must keep the frozen tolerance +contract, close the factor/refinement and invalid-input gaps, obtain a +comparable current independent correlation, and make the full replay +deterministic before a separate Owner gate is requested. + +The 0.2.7 evidence and source integrity checks are recorded as unchanged. diff --git a/docs/verification/0_2_8/wp06b_hex8_buckling_vnv.md b/docs/verification/0_2_8/wp06b_hex8_buckling_vnv.md new file mode 100644 index 00000000..ab058719 --- /dev/null +++ b/docs/verification/0_2_8/wp06b_hex8_buckling_vnv.md @@ -0,0 +1,70 @@ +--- +doc_id: DOC-028-WP06B-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP06B HEX8 buckling root-cause remediation + +WP06B starts from commit +`be8fbd99d8a3d3b8e4ee3b8d867842389b063061` and does not rewrite the WP06 +evidence or any 0.2.7 evidence. The frozen WP06 scope and tolerances are +reused unchanged in the [`WP06B contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06b_hex8_buckling_contract.json). +The machine-readable result is the [`WP06B evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp06b_hex8_buckling_vnv.json). + +## Root-cause audit + +The Euler formula was independently checked as +`Pcr = C*pi^2*E*I/L^2`, with `E=1000`, `I=1.2*1.0^3/12=0.1`, `L=4`, +and `C=0.25`/`1.0`. The resulting factors are 15.4212569 and 61.6850275 +for total reference load 1.0. Units, preload scaling, `Kg` sign, eigenvalue +interpretation and residual conventions are coherent. The factor failure is +therefore a model/scope limitation: fully integrated low-order HEX8 bending +and the declared solid boundary conditions are not a pure Euler oracle. In +the pinned case, the single UX anchor leaves the remainder of the end-plane +axial degrees of freedom available; the first solid mode is predominantly +axial/warping rather than a pure Euler lateral mode. + +The refinement sequence is a real generalized eigenvalue sequence, not a +serialization artifact. Its non-monotone behavior is attributed to section +discretization, aspect ratio, HEX8 bending/locking behavior and the pinned +boundary model. It is retained as a failed gate, not smoothed or reinterpreted. + +The original invalid-orientation probe reversed all eight connectivity entries. +That permutation preserves the HEX8 orientation and correctly produced +positive Jacobians. The validator itself already rejected a true mirrored +connectivity. WP06B changes only the probe to exercise that actual invalid +case and records the `detJ < 0` diagnostic. + +The replay digest difference was limited to floating-point tails in residual +and diagnostic reductions; critical factors and physical mode metrics did not +change materially. Existing mode-sign canonicalization was sufficient. A +fixed normalized ARPACK start vector was added to the existing sparse calls, +with no change to the generalized eigenproblem or tolerances. The complete +campaign now reproduces the same digest twice. + +## WP06B result + +| Gate | Result | +| --- | --- | +| Euler factor | `FAIL` | +| Mesh refinement | `FAIL` | +| Invalid geometry rejection | `PASS` | +| Replay determinism | `PASS` | +| Mode residuals / matching | `PASS` | +| Robustness | `PASS` | +| Current CalculiX oracle | `SKIPPED_EXTERNAL_UNAVAILABLE` | + +The technical decision remains **`NOT_QUALIFIED`**. The correction of the +test case and replay noise does not close the frozen factor/refinement gates, +and WP06B does not change the boundary model or analytical tolerance after +observing results. No public promotion or Owner gate is applied. + +The global technical state remains `32 QUALIFIED_BOUNDED`, `13 EXPERIMENTAL` +and `1 NOT_QUALIFIED`, exactly `COMB-HEX8-linear_buckling`. WEDGE6 static is +unchanged and distinct. A future attempt needs a new, explicitly approved +solid-buckling scope/oracle or a demonstrated HEX8 formulation improvement; +WP07 is not started here. diff --git a/docs/verification/0_2_8/wp07_mixed_static_vnv.md b/docs/verification/0_2_8/wp07_mixed_static_vnv.md new file mode 100644 index 00000000..f80352b2 --- /dev/null +++ b/docs/verification/0_2_8/wp07_mixed_static_vnv.md @@ -0,0 +1,115 @@ +--- +doc_id: DOC-028-WP07-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP07 mixed linear-static V&V + +WP07 audits one mixed workflow using `TET4 + WEDGE6 + HEX8`, starting from +`d7501fd144daf11a5f51eae5c04d664ebbcdc763`. It does not rewrite 0.2.7 +evidence or any earlier 0.2.8 record. The frozen campaign contract is the +[`WP07 contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_contract.json); +the executable machine-readable result is the +[`WP07 evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_vnv.json); +and the candidate matrix is the +[`WP07 matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_matrix.json). + +## Existing architecture audit + +The element registry, `AssemblyPlan`/`GlobalAssembler`, shared-node DOF map, +solid material construction, load integration, reactions, stress/strain +recovery and result export were already family-generic. Gmsh already accepted +the three solid families. The demonstrated gap was the mixed-interface +contract: duplicate-node/nonconforming interfaces were not rejected +explicitly. WP07 adds only that validation and its failure-path coverage; no +element stiffness or global formulation is changed. + +| Subsystem | WP07 classification | +| --- | --- | +| Element registry | `ALREADY_IMPLEMENTED` | +| Assembly plan / global assembler | `ALREADY_IMPLEMENTED` | +| Gmsh importer | `ALREADY_IMPLEMENTED_NEEDS_VNV` | +| Materials, DOF mapping, loads and boundary conditions | `ALREADY_IMPLEMENTED_NEEDS_VNV` | +| Reactions, recovery and results/export | `ALREADY_IMPLEMENTED_NEEDS_VNV` | +| Diagnostics | `PARTIAL_NEEDS_FIX` | +| Mixed-interface validation | `NEEDS_FIX` → fixed and tested | + +## Candidate scope + +The technical candidate is limited to `linear_static`, small-strain linear +elasticity, and the tested homogeneous `isotropic_3d` material route. It +covers conforming shared-node triangular `TET4-WEDGE6` faces, +quadrilateral `WEDGE6-HEX8` faces, and their tested three-family chain. The +tested load contract includes nodal, body-force, pressure and global surface +traction routes on supported faces. + +The candidate does not qualify `TET10`, `HEX20`, `PYRAMID5`, hanging nodes, +MPC/RBE coupling, nonconforming interfaces, modal/dynamic/nonlinear/buckling +analysis, contact, arbitrary distortion or large mixed models. It is not a +public maturity promotion until a separate Owner gate approves it. + +## Campaign gates + +The predeclared tolerances are preserved in the contract and evidence. The +exact affine manufactured field is the primary analytical oracle for the +declared assembly and interface contract. The campaign verifies: + +- affine displacement, strain, stress, energy, residuals, reactions and + global force/moment balance; +- one global symmetric matrix, unique shared-node DOFs, rank and six + unconstrained rigid-body modes; +- TET4-WEDGE6, WEDGE6-HEX8 and TET4-WEDGE6-HEX8 interfaces, including + displacement continuity and opposing face resultants; +- nodal, body-force, pressure and surface-traction resultants; +- material routing, stress/strain recovery, JSON/VTU export and a dependency- + neutral Gmsh mixed import/solve; +- three conforming-chain refinement levels; +- explicit rejection of unsupported families, invalid geometry/connectivity + and nonconforming duplicate-node interfaces; +- two complete deterministic replays with identical evidence digests. + +Every listed gate passes in the machine-readable evidence. No external +Code_Aster/CalculiX mixed-family correlation is claimed: no comparable +external result was available in this campaign. That limitation is part of +the bounded candidate scope and remains for Owner review. + +## Technical decision and maturity boundary + +WP07 technical result: **`QUALIFIED_BOUNDED_CANDIDATE`**. The separate final +[`WP07 Owner gate`](wp07_owner_gate_final.md), recorded in +[`wp07_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_owner_gate_final.json), +approves this candidate **`APPROVE_WITH_LIMITATIONS`** and records the mixed +workflow as **`QUALIFIED_BOUNDED`**. This status belongs to the dedicated +`mixed_workflow_qualification` record; it is not added as a new element/analyse +combination. + +The 46-combination source registry remains unchanged at +`32 QUALIFIED_BOUNDED`, `13 EXPERIMENTAL` and one `NOT_QUALIFIED`, namely +`COMB-HEX8-linear_buckling`. WEDGE6 static remains a separate route. + +The affine manufactured field and `K·u` load construction are sufficient for +the bounded assembly/interface/load contract, but the refinement sequence is +an affine-consistency check rather than an independent general accuracy +convergence study. No general mixed-mesh accuracy, arbitrary-load, external +solver or large-model claim is made. + +## Owner-approved scope and limitations + +The approved scope is `linear_static` only, with TET4/WEDGE6/HEX8, conforming +shared-node triangular and quadrilateral interfaces, small-strain homogeneous +isotropic elasticity, valid element geometries and the nodal, body-force, +pressure and surface-traction routes actually exercised by WP07. It covers +the tested pairwise interfaces and the tested three-family chain, including +the recorded continuity, DOF, equilibrium, energy, recovery and failure +contracts. + +Modal/Newmark/harmonic, nonlinear, contact, hanging-node or MPC transitions, +TET10/HEX20 mixed, PYRAMID5, nonconforming interfaces, arbitrary mixed +topologies, large-model performance and general accuracy convergence remain +out of scope. + +WP08 is not started by this record. diff --git a/docs/verification/0_2_8/wp07_owner_gate_final.md b/docs/verification/0_2_8/wp07_owner_gate_final.md new file mode 100644 index 00000000..61879837 --- /dev/null +++ b/docs/verification/0_2_8/wp07_owner_gate_final.md @@ -0,0 +1,83 @@ +--- +doc_id: DOC-028-WP07-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP07 — final Owner gate + +This Owner gate audits commit +`da310e8f3708c46d0a69a2980a2f47c4c7e9f4aa` and applies only to the WP07 +mixed workflow. The machine-readable decision is recorded in +[`wp07_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_owner_gate_final.json). +The underlying contract and campaign evidence remain unchanged. No numerical +source, tolerance or 0.2.7 evidence is changed. + +## Decision + +| Mixed route | Owner decision | Resulting workflow state | +| --- | --- | --- | +| TET4 + WEDGE6 | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| WEDGE6 + HEX8 | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | +| TET4 + WEDGE6 + HEX8 | `APPROVE_WITH_LIMITATIONS` | `QUALIFIED_BOUNDED` | + +The decision is recorded as a separate `mixed_workflow_qualification` record +in the [`WP07 matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp07_mixed_static_matrix.json). +It does not create or relabel an element/analyse combination in the 46-record +[`element-analysis registry`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/capability_registry_v2.json). + +## Audit result + +The TET4/WEDGE6 triangular and WEDGE6/HEX8 quadrilateral interfaces use shared +nodes and one global DOF map. The campaign demonstrates zero displacement +discontinuity, unique element DOFs and opposing interface resultants at the +declared tolerance. The same checks pass for the three-family conforming +chain. + +The affine field `u_x = alpha*x` is an exact analytical patch for the declared +assembly, interface, stress/strain recovery and equilibrium contract. The +equivalent loads are constructed as `K*u`; this is valid for that consistency +contract, but it is not an independent general mechanical benchmark. + +The three refinement levels reproduce the affine field and preserve the +equilibrium/energy identities. This is therefore recorded as an affine +consistency refinement check, not as a general accuracy-convergence claim. +The absence of a comparable Code_Aster/CalculiX mixed-family result does not +block this narrowly bounded workflow record, but no external correlation is +claimed. + +Loads, reactions, energy, stress/strain recovery, JSON/VTU export, Gmsh import, +invalid-input rejection and two deterministic replays pass within the +declared scope. The detected validation gap was fixed by explicit rejection of +duplicate-node/nonconforming mixed interfaces; no numerical bug or kernel +change was found. + +## Approved scope and limitations + +The approved workflow state is limited to: + +- `linear_static` only; +- TET4, WEDGE6 and HEX8; +- conforming shared-node triangular and quadrilateral interfaces; +- small-strain homogeneous isotropic elasticity; +- valid element geometries in the tested domains; +- nodal, body-force, pressure and surface-traction routes exercised by WP07; +- the tested pairwise interfaces and three-family chain. + +It does not qualify modal/Newmark/harmonic, nonlinear, contact, hanging-node +or MPC transitions, TET10/HEX20 mixed, PYRAMID5, nonconforming interfaces, +arbitrary mixed topologies, large-model performance or general accuracy +convergence. WEDGE6 static remains a distinct element-analysis route. + +## Registry reconciliation and integrity + +The element-analysis registry remains at 46 records. The cumulative state +after WP06B remains `32 QUALIFIED_BOUNDED`, `13 EXPERIMENTAL` and one +`NOT_QUALIFIED`, exactly `COMB-HEX8-linear_buckling`. WP07 does not change +those counts. No 0.2.7 evidence, prior WP01-WP06B record, numerical source or +predeclared tolerance is rewritten. + +WP08 is not started by this Owner gate. diff --git a/docs/verification/0_2_8/wp08_mixed_modal_vnv.md b/docs/verification/0_2_8/wp08_mixed_modal_vnv.md new file mode 100644 index 00000000..17a4e90f --- /dev/null +++ b/docs/verification/0_2_8/wp08_mixed_modal_vnv.md @@ -0,0 +1,95 @@ +--- +doc_id: DOC-028-WP08-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP08 mixed modal V&V + +WP08 audits one bounded mixed modal workflow using `TET4 + WEDGE6 + HEX8`, +starting from `65c816fee4a1497dd320358565a297c01bfcaff5`. It does not rewrite +0.2.7 evidence, the WP07 static decision, or the element-analysis registry. +The frozen campaign contract is the +[`WP08 contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08_mixed_modal_contract.json); +the executable machine-readable result is the +[`WP08 evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08_mixed_modal_vnv.json); +and the decision matrix is the +[`WP08 matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08_mixed_modal_matrix.json). + +## Scope and architecture audit + +The existing global assembly already provides family-generic stiffness and +consistent translational mass assembly through the shared-node DOF map. The +modal route solves the reduced generalized eigenproblem with the consistent +mass formulation. Lumped finite-element mass is not a supported qualification +route for this campaign. The WEDGE6 modal route remains outside the existing +publicly qualified element-analysis states; WP08 therefore audits the mixed +workflow separately and does not relabel any historical combination. + +The only demonstrated implementation gap was that the existing mixed +conforming-interface validation contract was invoked for `linear_static` but +not for `modal`. WP08 adds that validation dispatch and its regression/failure +coverage. No element matrix, mass formulation, modal solver or numerical +kernel was changed. + +## Candidate scope + +The tested scope is `modal`, fixed-base small-strain linear isotropic +elasticity, homogeneous positive-density material, consistent translational +finite-element mass, and conforming shared-node triangular and quadrilateral +interfaces between TET4, WEDGE6 and HEX8. It covers the first six positive +modes in the explicitly tested pairwise and three-family cases. + +The campaign excludes lumped or concentrated mass qualification, Newmark, +harmonic, nonlinear, contact, nonconforming interfaces, hanging nodes, +MPC/RBE transitions, TET10/HEX20 mixed meshes, PYRAMID5, large mixed-model +performance and any universal all-frequency claim. No modal stress claim is +made. + +## Campaign gates + +The tolerances were frozen in the contract before the campaign and were not +retuned after observing results. The campaign records: + +- symmetric positive consistent mass, density/volume conservation, directional + mass conservation and unique shared-node DOFs; +- TET4-WEDGE6, WEDGE6-HEX8 and TET4-WEDGE6-HEX8 modal cases; +- residuals, mass orthogonality, unit generalized-mass normalization, sorted + frequencies, family labels and JSON output; +- an independent dense oracle that reassembles local K/M arrays separately and + solves with `scipy.linalg.eigh`, without calling the production modal solver + or production global matrix path; +- pure-family versus mixed diagnostics without an equality claim between + different discretizations, including subspace MAC handling for numerically + degenerate eigenvalue clusters; +- explicit rejection of invalid connectivity, invalid geometry, disconnected + families and nonconforming duplicate-node interfaces; +- two deterministic replays with eigenvector sign canonicalization only. + +All of those gates pass for the tested mixed cases. No external industrial +solver result was available; no external correlation is claimed. The bounded +dense oracle is sufficient to verify the local-matrix scatter and generalized +eigenpair contract, but it does not establish external solver correlation. + +## Refinement result and technical decision + +The three tested refinement levels have first frequencies of approximately +`779.297`, `665.952` and `587.201` Hz. The adjacent relative changes pass the +predeclared frequency-step bound. However, shared-node matching of the first +six modes gives minimum MAC values of approximately `0.1028` and `0.7312` for +the two transitions, so the predeclared `0.5` mode-matching gate fails at the +first transition. + +This is not hidden by changing the tolerance or by reordering modes. The +technical result is therefore **`SUPPORTED_WITH_LIMITATIONS`**, not +`QUALIFIED_BOUNDED_CANDIDATE`; no public promotion and no Owner gate are +applied. The result is not a general modal convergence claim. A future +campaign would need a new predeclared refinement/mode-matching design and +evidence before reconsidering qualification. + +The independent pairwise and three-family modal checks remain reproducible and +bounded, but they do not override the failed refinement gate. WP08 does not +start WP09 or any other work package. diff --git a/docs/verification/0_2_8/wp08b_mixed_modal_vnv.md b/docs/verification/0_2_8/wp08b_mixed_modal_vnv.md new file mode 100644 index 00000000..de07a23b --- /dev/null +++ b/docs/verification/0_2_8/wp08b_mixed_modal_vnv.md @@ -0,0 +1,77 @@ +--- +doc_id: DOC-028-WP08B-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP08B mixed modal follow-up + +WP08B starts from `59a438bc0d58ee32d35e084dd091eefe78418bb6`. It preserves the +WP08 decision, `SUPPORTED_WITH_LIMITATIONS`, and does not rewrite WP08 or +0.2.7 evidence. The diagnostic is recorded in the +[`root-cause audit`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_root_cause_audit.json), +followed by the separate predeclared +[`WP08B contract`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_mixed_modal_contract.json), +executable [`WP08B evidence`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_mixed_modal_vnv.json) +and [`WP08B matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_mixed_modal_matrix.json). + +## Root cause + +The WP08 runner selected fixed element rows `0`, `1` and `2` for every +refinement level. At levels above one, that retained only the first WEDGE6 and +HEX8 segment: the model stayed at 33 DDL while its total volume changed from +approximately `1.667` to `0.917`, `0.542` and `0.354`. These are different +mechanical domains, not a mesh-refinement sequence. The shared-node MAC was +therefore not a valid convergence comparison. + +The root cause is `MESH_TO_MESH_MAPPING_PROBLEM`, with a secondary +`GEOMETRIC_DISCRETIZATION_EFFECT`. It is not evidence of modal-solver +nonconvergence, an eigenvector-normalization defect, a mixed-mode crossing, or +a MAC implementation defect. The original WP08 threshold and failed result +remain intact. + +## Predeclared follow-up method + +Each WP08B level retains one TET4 and every generated WEDGE6 and HEX8 segment. +The physical volume and coordinate bounds are invariant; node/DDL counts grow +from `11/33` at level one to `46/138` at level eight. Coarse modal fields are +prolonged to every fine-mesh node through the containing coarse element's +linear shape functions. The full MAC matrix is then evaluated with the fine +global consistent mass matrix, and the maximum-total-MAC assignment is +recorded. No extrapolation is allowed. + +The new contract predeclares `MAC ≥ 0.85` and an adjacent matched-frequency +change of at most `10%`; it does not alter the WP08 `0.5` gate. Numerically +degenerate pure-family control modes are compared as mass-orthonormal +subspaces. The mixed candidate modes are individually matched because no +near-degenerate group is found in the first six modes. + +## Results + +All mixed gates pass. The minimum assigned mapped MAC values for levels +`1→2`, `2→4` and `4→8` are `0.9751`, `0.9037` and `0.9979`; every assignment +is mode `i → i`. The largest adjacent matched-frequency change is about +`5.86%`, below the predeclared bound. Mass conservation, independent dense +assembly/eigensolve correlation, eigenpair residuals, mass orthogonality, +interface/failure contracts, output and two deterministic replays also pass. + +Pure TET4, WEDGE6 and HEX8 refinements are retained as protocol controls only. +They show expected coarse/high-mode sensitivity and, for HEX8, near-degenerate +subspaces; they do not alter any individual-family modal maturity state. + +## Technical candidate and limitations + +WP08B yields **`QUALIFIED_BOUNDED_CANDIDATE`** for the exact fixed-base +conforming TET4/WEDGE6/HEX8 chain, small-strain homogeneous linear isotropic +elasticity, consistent translational mass and the first six positive modes at +the declared levels. A separate Owner gate is required before any public +promotion. + +The independent oracle is a separately scattered dense generalized eigensolve, +not an external industrial-solver correlation. There is no modal-stress, +Newmark, harmonic, nonlinear, contact, nonconforming-interface, higher-order +family, large-model performance or universal modal claim. WP09 is not started +by this record. diff --git a/docs/verification/0_2_8/wp08b_owner_gate_final.md b/docs/verification/0_2_8/wp08b_owner_gate_final.md new file mode 100644 index 00000000..22d3e8d5 --- /dev/null +++ b/docs/verification/0_2_8/wp08b_owner_gate_final.md @@ -0,0 +1,84 @@ +--- +doc_id: DOC-028-WP08B-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP08B — final Owner gate + +This Owner gate audits commit +`35d2debbd414917ac31d2b2d945df1132737eae5` and applies only to the WP08B +mixed modal workflow. The machine-readable decision is recorded in +[`wp08b_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_owner_gate_final.json). +The WP08 initial failure, the WP08B contract and the WP08B campaign evidence +remain unchanged. No numerical source, tolerance or 0.2.7 evidence is +changed. + +## Decision + +**`APPROVE_WITH_LIMITATIONS` — resulting workflow state: `QUALIFIED_BOUNDED`** + +The decision is recorded in the separate +[`WP08B mixed-modal matrix`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp08b_mixed_modal_matrix.json) +as a `mixed_workflow_qualification` record. It does not create or relabel an +element-analysis combination in the 46-record +[`element-analysis registry`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_7/capability_registry_v2.json). + +## Audit result + +The WP08B root-cause audit correctly identifies the original failure as a +`MESH_TO_MESH_MAPPING_PROBLEM`: the WP08 refinement runner changed the +mechanical domain by retaining only the first WEDGE6/HEX8 segment above level +one, and the original shared-node MAC did not compare fields in one FE space +with one mass inner product. This explains the initial `0.1028` result without +changing its `0.5` gate. + +The WP08B method is mathematically appropriate for the bounded comparison: +coarse fields are prolonged to the fine mesh with the containing element's +shape functions, extrapolation is rejected, and the MAC uses the fine global +consistent mass inner product after generalized-mass normalization. The full +MAC matrix is assigned globally, so the result is not obtained by forcing +mode `i` onto mode `i`. + +The new contract was predeclared separately from WP08, with fixed gates of +mapped MAC `>= 0.85` and adjacent matched-frequency change `<= 10%`. The +first six frequencies are monotone across levels 1/2/4/8; the largest +adjacent change is `5.86%`; mapped MAC minima are `0.9751`, `0.9037` and +`0.9979`. Residuals, mass orthogonality, mass assembly/conservation, +conforming interface checks, failure paths and two deterministic replays pass. +The independent dense local-matrix scatter/eigensolve and analytical mass +conservation are sufficient for this bounded assembly claim. No external +industrial-solver correlation is claimed or required for this scope. + +## Approved scope and limitations + +The approved workflow is limited to: + +- modal linear analysis only; +- the fixed-base `x=0` TET4/WEDGE6/HEX8 conforming chain tested by WP08B; +- shared-node triangular and quadrilateral interfaces; +- small-strain homogeneous isotropic elasticity; +- consistent translational finite-element mass; +- the first six positive modes; +- refinement levels 1, 2, 4 and 8; +- valid geometries within the already qualified elementary domains. + +It does not qualify modal stress, lumped or concentrated mass, Newmark, +harmonic, nonlinear, contact, nonconforming or hanging-node/MPC/RBE +interfaces, TET10/HEX20, PYRAMID5, large-model performance or universal +all-frequency behavior. Pure-family controls remain diagnostics only. + +## Registry reconciliation and integrity + +The element-analysis registry remains at 46 records and is not modified by +this mixed-workflow decision. Its source counts remain `20 QUALIFIED_BOUNDED`, +`25 EXPERIMENTAL` and `1 NOT_QUALIFIED`; the cumulative 0.2.8 state after +WP06B remains `32 QUALIFIED_BOUNDED`, `13 EXPERIMENTAL` and one +`NOT_QUALIFIED`, exactly `COMB-HEX8-linear_buckling`. No WP08 gate is changed, +no WP08 evidence is rewritten, no 0.2.7 evidence is changed, and no numerical +source is changed. + +WP09 is not started by this Owner gate. diff --git a/docs/verification/0_2_8/wp09_pyramid5_formulation.md b/docs/verification/0_2_8/wp09_pyramid5_formulation.md new file mode 100644 index 00000000..5bd94c78 --- /dev/null +++ b/docs/verification/0_2_8/wp09_pyramid5_formulation.md @@ -0,0 +1,86 @@ +--- +doc_id: DOC-028-WP09-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# QF Solver 0.2.8 WP09 — PYRAMID5 formulation gate + +This note fixes the formulation considered by WP09 before any kernel or V&V +implementation. It is a feasibility record, not a production qualification or +a change to the 0.2.7 capability set. + +## Selected formulation + +WP09 evaluates the conventional five-node displacement pyramid obtained by a +collapsed-coordinate map. Let `(r, s, t)` lie in +`[-1, 1] × [-1, 1] × [0, 1]`, with physical reference coordinates +`(x, y, z) = ((1-t) r, (1-t) s, t)`. The base nodes are ordered +counter-clockwise as `0, 1, 2, 3`; node `4` is the apex. The five shape +functions are + +```text +N0 = (1-t)(1-r)(1-s)/4 N1 = (1-t)(1+r)(1-s)/4 +N2 = (1-t)(1+r)(1+s)/4 N3 = (1-t)(1-r)(1+s)/4 +N4 = t +``` + +Their reference derivatives are used directly for the isoparametric Jacobian +and the small-strain `B` matrix. This is the lowest-order nodal pyramid used +by the Gmsh/PYRAMID5 topology. The coordinate domain and base/apex ordering +are consistent with the PYRAMID5 reference descriptions in +[libMesh](https://mooseframework.inl.gov/docs/doxygen/libmesh/classlibMesh_1_1Pyramid5.html) +and with [Gmsh type 7 and its node-ordering contract](https://gmsh.info/doc/texinfo/gmsh.html#Node-ordering). + +For broader pyramidal approximation theory, rational pyramid spaces are +necessary to retain compatible traces across hybrid meshes; see +[Bergot, Cohen and Duruflé](https://arxiv.org/abs/math/0610206) and the +[numerical-integration discussion](https://arxiv.org/abs/1003.0495). +WP09 does not claim that this five-node displacement space has the properties +of a higher-order compatible pyramid family. + +## Apex behavior and bounded geometry + +At `t = 1` every `(r, s)` represents the apex. The nodal values are +unambiguous there, but reference derivatives and the collapsed-coordinate +Jacobian are not a valid evaluation point. This is a known limitation of +isoparametric PYRAMID5 mappings; [Axom documents the corresponding near-apex +Jacobian singularity](https://axom.readthedocs.io/en/feature-white238-inlet_variant_containers/doxygen/html/classaxom_1_1mint_1_1Lagrange_3_01mint_1_1PYRAMID_01_4.html). + +Therefore WP09 never evaluates derivatives or quadrature at the apex. The +candidate scope is restricted to a convex planar QUAD4 base, a non-coplanar +apex, and positive sampled Jacobians over the predeclared production and +reference rules. Distorted, flattened, folded or inverted pyramids outside +that sampled domain are explicitly rejected; this is not an arbitrary-shape +robustness claim. + +## Quadrature + +The selected production rule is a tensor product of three Gauss--Legendre +points in each collapsed base coordinate and four points in `t`, mapped to +`[0, 1]`. The geometric factor is retained in `det(J)`; no apex point is used. +The reference rule is `5 × 5 × 6` Gauss--Legendre points. The latter is a V&V +comparison rule only. Both stiffness and consistent translational mass use the +same production mapping, so no reduced integration or hourglass control is +introduced. + +## Predeclared gates + +The machine-readable contract +[`wp09_pyramid5_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_contract.json) +fixes all gates before execution. In particular, the regular and bounded +distorted cases must have exactly six rigid-body null modes and rank `9` of +`15`; production/reference relative stiffness error is bounded by `1e-5`; and +the affine, load-balance, mass and replay gates are frozen there. A failure is +a WP09 feasibility result, not a reason to retune a tolerance. + +## Deliberate exclusions + +WP09 excludes PYRAMID13, nonlinear material/kinematics, SRI, stabilization, +hourglass control, modal/dynamic routes, nonconforming interfaces, hanging +nodes, MPC/RBE transitions and any general HEX/TET transition-mesh claim. A +conforming HEX8/PYRAMID5/TET4 patch, if implemented, is a separate static +feasibility check and does not alter the WP07 or WP08 qualified workflows. diff --git a/docs/verification/0_2_8/wp09_pyramid5_vnv.md b/docs/verification/0_2_8/wp09_pyramid5_vnv.md new file mode 100644 index 00000000..3b852dda --- /dev/null +++ b/docs/verification/0_2_8/wp09_pyramid5_vnv.md @@ -0,0 +1,48 @@ +--- +title: "WP09 PYRAMID5 feasibility gate" +status: "FEASIBLE_CONTINUE" +scope: "internal bounded linear-static feasibility only" +--- + +--- +doc_id: DOC-028-WP09-VNV-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP09 PYRAMID5 feasibility gate + +WP09 evaluates whether a five-node linear pyramid can be integrated into the +existing solid-element architecture without claiming a released public +capability. The frozen [formulation](wp09_pyramid5_formulation.md) and +[predeclared contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_contract.json) +use collapsed reference coordinates and never evaluate derivatives at the +coordinate singularity at the apex. + +The executable [evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_vnv.json) +and [decision matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp09_pyramid5_matrix.json) +record passing Kronecker, partition-of-unity, derivative-sum, affine, +Jacobian, rank, rigid-body, stiffness-symmetry and mass-conservation checks. +Regular and bounded distorted geometries, invalid geometry rejection, a +manufactured affine patch, body and face loads, post-processing, Gmsh type-7 +import, and a conforming HEX8/PYRAMID5/TET4 transition also pass. Two full +replays have identical evidence digests. + +## Decision and boundaries + +The technical decision is `FEASIBLE_CONTINUE`, not a maturity promotion. +PYRAMID5 is absent from the public compatibility descriptor and from the +46-combination element-analysis qualification registry; public solve dispatch +therefore remains fail-closed for this family. This internal kernel supports +only bounded small-strain, linear-isotropic, linear-static feasibility cases +with conforming nodal interfaces and geometries passing the declared Jacobian +checks. + +No coherent PYRAMID5 h-refinement campaign or external-solver correlation has +been completed. Modal, Newmark, harmonic, nonlinear, contact, nonconforming +interfaces, higher-order pyramids, SRI, large-model performance and production +release claims are out of scope. WP07 and WP08 remain limited to their +TET4/WEDGE6/HEX8 workflows and are not extended by this record. diff --git a/docs/verification/0_2_8/wp10_hex8_sri_formulation.md b/docs/verification/0_2_8/wp10_hex8_sri_formulation.md new file mode 100644 index 00000000..796cae7a --- /dev/null +++ b/docs/verification/0_2_8/wp10_hex8_sri_formulation.md @@ -0,0 +1,54 @@ +--- +title: "WP10 HEX8 selective reduced integration formulation" +status: "PREDECLARED_RESEARCH_GATE" +--- + +--- +doc_id: DOC-028-WP10-FORMULATION-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP10 HEX8 selective reduced integration formulation + +WP10 studies a separate research element. The qualified HEX8 implementation +and all existing analysis routes remain unchanged. + +## Selected formulation + +The reference interpolation is the existing trilinear HEX8 interpolation and +the existing Jacobian/strain-displacement operator. For isotropic linear +elasticity, the constitutive matrix is split as + +\[ + C = C_{dev} + C_{vol},\qquad + C_{vol}=K\,m m^T,\qquad m=(1,1,1,0,0,0)^T, +\] + +where `K = E/(3(1-2ν))` and `C_dev = C-C_vol` in the engineering-Voigt +convention used by QF Solver. The SRI stiffness is + +\[ + K_{SRI}=\sum_{2\times2\times2} w_q\det J_q B_q^T C_{dev}B_q + +w_0\det J_0 B_0^T C_{vol}B_0. +\] + +The deviatoric contribution uses the eight standard Gauss points. The +volumetric contribution uses the element centre only. This choice targets +volumetric locking while retaining full deviatoric/shear integration; no +hourglass control or production reduced-integration HEX8 variant is added. + +## Risks and boundaries + +The centre-only volumetric term can alter stiffness and must not be treated as +a general accuracy improvement. The gate therefore checks symmetry, six rigid +body modes, numerical rank, affine and constant-strain reproduction, energy, +distortion and invalid geometry. A rank loss, zero-energy mode, or materially +unstable distorted response rejects the candidate. + +The candidate is internal and isotropic linear-static only. It is not added to +the public element registry, compatibility descriptor, standard HEX8 class, +modal/dynamic routes, nonlinear routes or release maturity records. diff --git a/docs/verification/0_2_8/wp10_hex8_sri_owner_gate_final.md b/docs/verification/0_2_8/wp10_hex8_sri_owner_gate_final.md new file mode 100644 index 00000000..30cee120 --- /dev/null +++ b/docs/verification/0_2_8/wp10_hex8_sri_owner_gate_final.md @@ -0,0 +1,37 @@ +--- +title: "WP10 HEX8-SRI Owner gate" +status: "APPROVE_EXPERIMENTAL_BOUNDED" +--- + +--- +doc_id: DOC-028-WP10-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP10 HEX8-SRI Owner gate + +The Owner decision is `APPROVE_EXPERIMENTAL_BOUNDED` for the separate +HEX8-SRI research capability. The machine-readable decision is recorded in +[`wp10_hex8_sri_owner_gate_final.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json). + +The decision accepts the isotropic small-strain linear-static formulation with +deviatoric `2×2×2` and volumetric `1×1×1` integration. The executed fine-level +locking-error reductions are `76.0 %` at `ν=0.30` and `61.9 %` at `ν=0.4999`. +Rank, rigid-body, symmetry, stability, bounded distortion, convergence and +two deterministic replays pass. The Timoshenko oracle is sufficient for this +experimental bounded scope; no external correlation is claimed. + +The centre-only volumetric term changes the affine nodal-force action. This is +an explicit limitation: no general patch-force, production, universal +incompressibility, arbitrary-distortion or universal locking claim is +approved. Nonlinear, dynamic, contact, HEX8R and hourglass-control routes are +excluded. + +HEX8-SRI remains separate from the standard HEX8 implementation and from the +46 element-analysis combinations. No 0.2.7 evidence, WP07–WP09 claim or +standard HEX8 source is changed. Further maturity promotion or scope +expansion requires a new Owner gate. diff --git a/docs/verification/0_2_8/wp10_hex8_sri_vnv.md b/docs/verification/0_2_8/wp10_hex8_sri_vnv.md new file mode 100644 index 00000000..92695d41 --- /dev/null +++ b/docs/verification/0_2_8/wp10_hex8_sri_vnv.md @@ -0,0 +1,44 @@ +--- +title: "WP10 HEX8 selective reduced integration research gate" +status: "EXPERIMENTAL_BOUNDED_CANDIDATE" +--- + +--- +doc_id: DOC-028-WP10-VNV-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP10 HEX8 selective reduced integration research gate + +WP10 evaluates a separate research-only SRI kernel. The frozen +[formulation](wp10_hex8_sri_formulation.md) and +[contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp10_hex8_sri_contract.json) keep the +qualified HEX8 implementation unchanged. + +The candidate integrates the deviatoric contribution at the standard eight +Gauss points and the volumetric contribution at the element centre. On the +declared structured cantilever campaign, the fine-level relative displacement +error reduction is `76.0 %` for `ν=0.30` and `61.9 %` for `ν=0.4999`. The +SRI error decreases over levels `4/8/16` in both cases. Symmetry, six rigid +body modes, rank, affine strain, energy and invalid-orientation checks pass; +two complete campaign replays are deterministic. + +## Decision and limitations + +The technical decision is `EXPERIMENTAL_BOUNDED_CANDIDATE`. This is not a +public capability or maturity promotion. The affine strain and energy checks +pass, but the centre-only volumetric term changes the affine nodal force +action (`0.87495` relative diagnostic). Therefore no general patch-force, +production accuracy, external industrial correlation or universal locking +claim is made. An independent Owner gate is required before any public +exposure or maturity decision. + +The scope is limited to isotropic small-strain linear-static HEX8 SRI on the +executed structured bending and nearly-incompressible cantilever cases. The +variant is absent from the public element registry and compatibility +descriptor. HEX8R, hourglass control, nonlinear, modal, Newmark, harmonic, +buckling, mixed-large and PYRAMID5 maturation remain excluded. diff --git a/docs/verification/0_2_8/wp11_mixed_large_contract.md b/docs/verification/0_2_8/wp11_mixed_large_contract.md new file mode 100644 index 00000000..baee84ee --- /dev/null +++ b/docs/verification/0_2_8/wp11_mixed_large_contract.md @@ -0,0 +1,59 @@ +--- +doc_id: DOC-028-WP11-CONTRACT-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP11 mixed large-scale evidence contract + +This contract is frozen before the WP11 measurements. It covers performance and +reproducibility evidence for the already bounded mixed `linear_static` workflow, +not a new numerical qualification. + +## Declared scope + +The campaign uses repeated conforming TET4/WEDGE6/HEX8 chains. Each chain has +one TET4, one WEDGE6 and one HEX8, with shared triangular and quadrilateral +interfaces respectively. The mandatory model has 9,091 independent chains, +100,001 nodes, 300,003 translational DOFs, and 27,273 elements (9,091 of each +family). The disconnected repetition is intentional scale evidence and limits +the claim: it is not a claim for an arbitrary connected industrial mesh. + +The model is small-strain linear isotropic elasticity (`E=210e9`, `nu=0.3`, +`rho=7800`, SI units), with all `x=0` DOFs fixed and a unit total Z load per +chain distributed on free top nodes. Only conforming nodal interfaces are in +scope. PYRAMID5, HEX8-SRI, nonconforming interfaces, modal/dynamic/nonlinear +analyses and precision qualification are excluded. + +The 66-DOF two-chain model is the baseline. A 999,999-DOF target and a +2,999,997-DOF stretch target are recorded as optional non-blockers; they are not +reported as measured unless executed in the declared environment. + +## Gates + +Before the large run, the baseline must solve successfully. The mandatory run +must have at least 300,000 DOFs, nonzero and balanced contributions from all +three element families, finite displacements, relative solver residual, +global-force closure, global-moment closure and energy identity no greater than +`1e-8`, and two exact physics replays. Runtime, peak memory, sparse `nnz`, +solver iterations and environment are recorded as evidence, not as universal +thresholds. + +The exact replay digest covers the generated input, displacement vector, +iterations, residual, equilibrium and energy. Timing and memory are excluded +from that digest because they are environment-dependent. + +The iterative backend is SciPy CG with `assume_spd=true`. This is an explicit +solver-policy assumption, justified here by homogeneous small-strain isotropic +elasticity and complete per-chain Dirichlet constraints; it is not a new +formulation or an accuracy claim. + +## Claim boundary + +The only permitted public wording is: “Recorded large-scale mixed +TET4/WEDGE6/HEX8 evidence for this specific linear-static route and +environment.” No general scalability, accuracy, production, or connected-mesh +performance claim is created. diff --git a/docs/verification/0_2_8/wp11_mixed_large_vnv.md b/docs/verification/0_2_8/wp11_mixed_large_vnv.md new file mode 100644 index 00000000..fb70048e --- /dev/null +++ b/docs/verification/0_2_8/wp11_mixed_large_vnv.md @@ -0,0 +1,66 @@ +--- +doc_id: DOC-028-WP11-VNV-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP11 mixed large-scale evidence + +WP11 records performance and reproducibility evidence for the already bounded +mixed `linear_static` workflow. It does not promote a numerical capability or +create a general scalability claim. + +## Mandatory model + +The measured model contains 9,091 repeated conforming chains. Each chain has +one TET4, one WEDGE6 and one HEX8, with shared triangular TET4/WEDGE6 and +quadrilateral WEDGE6/HEX8 interfaces. The aggregate has 100,001 nodes, +300,003 translational DOFs and 27,273 elements: 9,091 of each family. Each +component is fully constrained on its `x=0` nodes and receives a unit total Z +load on two free top nodes. Material is homogeneous isotropic linear elasticity +with `E=210e9`, `nu=0.3`, `rho=7800`, in SI units. + +This repeated-chain construction is deliberately explicit scale evidence. It is +not an arbitrary connected industrial mesh and does not support a universal +large-model performance or accuracy claim. + +## Results + +The small two-chain baseline passed before the large run. Both mandatory replays +passed with the same physics digest. The CG/Jacobi SciPy solve used 12 +iterations and produced a relative residual of `2.484933369237869e-9`. +Force and moment closure errors were respectively `2.0730893516296557e-12` +and `4.358628815121694e-12`; the linear energy identity error was `0.0`. +The reduced stiffness had `1,309,104` nonzeros. + +Measured phase timings for replays 1/2 were: + +| Phase | Replay 1 | Replay 2 | +| --- | ---: | ---: | +| Assembly | 46.1126 s | 46.0056 s | +| Linear solve | 0.0537 s | 0.0516 s | +| Total | 62.4159 s | 62.5280 s | + +Peak RSS after each replay was `754,372,608` bytes. The environment pack records +Windows 10, AMD64, Python/NumPy/SciPy package metadata, backend, preconditioner, +MPI rank count and the exact input/replay digests. + +The optional 999,999-DOF target and 2,999,997-DOF stretch target were not run; +both remain non-blockers and are not represented as measured results. + +Machine-readable records: + +- [frozen WP11 contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11_mixed_large_contract.json) +- [WP11 evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11_mixed_large_vnv.json) +- [WP11 matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11_mixed_large_matrix.json) +- [input manifest and replay pack](https://github.com/emptiesvoid-cloud/QF_solver/tree/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11_mixed_large_evidence) + +## Bounded claim + +The permitted claim is: “Recorded large-scale mixed TET4/WEDGE6/HEX8 evidence +for this specific linear-static route and environment.” No modal, dynamic, +nonlinear, PYRAMID5, HEX8-SRI, nonconforming-interface, accuracy, production or +universal performance claim is made. No 0.2.7 evidence was changed. diff --git a/docs/verification/0_2_8/wp11b_hex8_buckling_experimental_contract.md b/docs/verification/0_2_8/wp11b_hex8_buckling_experimental_contract.md new file mode 100644 index 00000000..1ec0e444 --- /dev/null +++ b/docs/verification/0_2_8/wp11b_hex8_buckling_experimental_contract.md @@ -0,0 +1,50 @@ +--- +doc_id: DOC-028-WP11B-CONTRACT-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP11B HEX8 buckling experimental-readiness contract + +This contract is separate from WP06/WP06B. It does not rewrite their Euler or +mesh-convergence failures and does not change any WP06 tolerance. + +## Experimental scope + +The candidate scope is HEX8 linear eigenvalue buckling from a linear-elastic +prestress state, on valid bounded geometries, with explicitly tested boundary +conditions and the first positive instability factor/mode only. It is for +exploratory/research use. + +The frozen benchmark is a rectangular solid cantilever block (`L=4.0`, +`b=1.2`, `h=1.0`) with all DOFs fixed on `x=0` and uniform nodal dead +compression on the `x=L` face (`P=1.0`). The material is homogeneous isotropic +linear elasticity (`E=1000`, `nu=0.3`). Levels are `(2,2,2)`, `(4,4,4)` and +`(6,6,6)` HEX8 cells. + +## Frozen gates + +Preload residual must be at most `1e-8`, geometric-stiffness symmetry at most +`1e-12`, and recomputed eigen residual at most `1e-7`. The critical factor must +be finite and positive; the associated mode must be finite, physically lateral +(`UZ` dominant in this weak-axis setup), and free of NaN/Inf. + +Doubling `E` must double the critical factor within 5%; doubling preload `P` +must halve it within 5%. Doubling `L` must produce a finite positive factor +lower than the reference. A moderate geometry perturbation must remain finite +and within 10% of the level-4 reference. Two replay digests must match exactly. + +Refinement is characterization, not a convergence-to-Euler gate. Factors, +adjacent changes, modes and residuals must be reported honestly; a non-stable +trend cannot be presented as general convergence. + +## Explicit exclusions + +Euler prediction, certification, production use, imperfections, +nonlinear/post-buckling, plasticity, arbitrary meshes, universal accuracy, +multi-mode or mixed-mesh buckling, HEX8R, SRI, B-bar and hourglass control are +outside this contract. An unavailable external oracle is recorded as such and +is never invented. diff --git a/docs/verification/0_2_8/wp11b_hex8_buckling_experimental_vnv.md b/docs/verification/0_2_8/wp11b_hex8_buckling_experimental_vnv.md new file mode 100644 index 00000000..296efde9 --- /dev/null +++ b/docs/verification/0_2_8/wp11b_hex8_buckling_experimental_vnv.md @@ -0,0 +1,74 @@ +--- +doc_id: DOC-028-WP11B-VNV-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP11B HEX8 buckling experimental-readiness campaign + +WP11B is a separate experimental-readiness record. It does not rewrite WP06 or +WP06B and does not change the 46-combination registry. + +## Scope and benchmark + +The tested capability is HEX8 linear eigenvalue buckling from a linear-elastic +prestress state, for valid bounded geometries and the first positive mode only. +The frozen benchmark is a rectangular solid cantilever block (`L=4.0`, `b=1.2`, +`h=1.0`) with all DOFs fixed on `x=0` and uniform nodal dead compression on the +`x=L` face (`P=1.0`). The material is homogeneous isotropic linear elasticity +with `E=1000`, `nu=0.3`. + +The levels `(2,2,2)`, `(4,4,4)` and `(6,6,6)` are used to characterize the +route. This is a solid-block physical-consistency benchmark, not a pinned Euler +column oracle. The first mode is expected to be lateral and UZ-dominant for the +declared weak-axis geometry. + +## Results + +| Mesh | Critical factor | Solver residual | Recomputed eigen residual | Mode | +| --- | ---: | ---: | ---: | --- | +| 2×2×2 | 41.9396858064 | 2.15e-13 | 7.64e-14 | UZ | +| 4×4×4 | 21.5199859692 | 3.35e-13 | 5.45e-13 | UZ | +| 6×6×6 | 17.8648777257 | 3.38e-13 | 1.50e-12 | UZ | + +All factors are finite and positive; preload residuals are below `1e-8`, +geometric-stiffness symmetry is below `1e-12`, and the lateral mode fraction is +about `0.984`. The refinement trend is positive and decreasing, but adjacent +changes remain about `94.9%` and `20.5%`. It is therefore recorded as +`CHARACTERIZED_ONLY`, not as convergence and not as convergence to Euler. + +Physical scaling passes the frozen contract: doubling `E` gives a factor ratio +of `2.00086`, doubling preload gives `0.49957`, doubling length gives a lower +positive factor (`10.03819`), and the moderate perturbation changes the level-4 +factor by only `0.0046%`. Invalid orientation is rejected explicitly. No NaN or +infinite eigenvalue was observed. + +Two complete reference replays have identical critical factor, mode, residual +and evidence digest. No comparable current Code_Aster or CalculiX result was +available, so `EXTERNAL_ORACLE = NOT_AVAILABLE`; no external correlation is +claimed. + +## Decision and limitations + +The technical decision is `EXPERIMENTAL_CANDIDATE`, with proposed public status +`EXPERIMENTAL` subject to a separate Owner gate. It is not +`QUALIFIED_BOUNDED`. + +The proposed exposure is exploratory/research use only for the declared HEX8 +linear eigenvalue buckling route, linear-elastic prestress, valid bounded +cantilever solid blocks, explicitly tested constraints, and first positive mode. +It excludes general Euler prediction, general convergence, certification, +production use, imperfections, nonlinear/post-buckling, plasticity, arbitrary +meshes, universal accuracy, multi-mode/mixed-mesh buckling, HEX8R, SRI, B-bar +and hourglass formulations. + +The historical WP06 Euler `FAIL`, WP06 mesh-convergence `FAIL`, and absence of a +comparable external oracle remain unchanged and visible. No numerical source or +0.2.7 evidence was modified. + +Machine-readable records: [contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json), +[evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json), +and [matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json). diff --git a/docs/verification/0_2_8/wp11b_hex8_buckling_owner_gate_final.md b/docs/verification/0_2_8/wp11b_hex8_buckling_owner_gate_final.md new file mode 100644 index 00000000..c2bf7752 --- /dev/null +++ b/docs/verification/0_2_8/wp11b_hex8_buckling_owner_gate_final.md @@ -0,0 +1,65 @@ +--- +doc_id: DOC-028-WP11B-OWNER-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP11B HEX8 buckling Owner gate + +The Owner gate audits the separate WP11B experimental-readiness contract and +campaign. It does not rewrite WP06/WP06B, the Euler `FAIL`, the mesh-convergence +`FAIL`, or the absence of a comparable external oracle. + +## Decision + +`APPROVE_EXPERIMENTAL` + +HEX8 linear buckling is exposed as `EXPERIMENTAL` only within this bounded scope: + +- linear eigenvalue buckling from linear-elastic prestress; +- valid bounded HEX8 cantilever solid geometries; +- the explicitly tested clamped solid-block boundary condition; +- the first positive mode; +- exploratory/research use only. + +The benchmark was frozen before execution: a clamped rectangular solid block +under uniform end-face dead compression. The campaign passes the declared +prestress/geometric-stiffness, eigenproblem, physical scaling, mode, robustness, +invalid-geometry and two-replay checks. The factors are positive and decrease +with refinement (`41.9397`, `21.5200`, `17.8649`), but that trend is only +characterized; it is not a general convergence claim. + +## Limitations + +`EXPERIMENTAL` means implemented, reproducible and physically coherent on this +narrow scope, but insufficiently validated for normal or production use. It is +not `QUALIFIED_BOUNDED`. No Euler prediction, general convergence, certification, +imperfection, nonlinear/post-buckling, plasticity, arbitrary-mesh, universal +accuracy, multi-mode, mixed-mesh, HEX8R, SRI, B-bar or hourglass claim is made. + +No comparable current external oracle was available. Therefore no external +correlation claim is made and none is required for this experimental status. + +## Registry and integrity + +The 46 element-analysis records reconcile as follows: + +| State | Before WP11B | After WP11B | +| --- | ---: | ---: | +| `QUALIFIED_BOUNDED` | 32 | 32 | +| `EXPERIMENTAL` | 13 | 14 | +| `NOT_QUALIFIED` | 1 | 0 | +| Total | 46 | 46 | + +Only `COMB-HEX8-linear_buckling` transitions from `NOT_QUALIFIED` to +`EXPERIMENTAL`. WP06/WP06B evidence remains preserved, no numerical source was +changed, and no 0.2.7 evidence was modified. Any later promotion or scope +expansion requires another Owner gate. + +Machine-readable records: [WP11B contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json), +[campaign evidence](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json), +[updated matrix](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json), +and [this Owner record](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json). diff --git a/docs/verification/0_2_8/wp13_02a2_wedge6_dynamic_enablement.md b/docs/verification/0_2_8/wp13_02a2_wedge6_dynamic_enablement.md new file mode 100644 index 00000000..ff85969b --- /dev/null +++ b/docs/verification/0_2_8/wp13_02a2_wedge6_dynamic_enablement.md @@ -0,0 +1,69 @@ +--- +doc_id: DOC-028-WP13-02A2-WEDGE6-DYNAMIC-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02A2 WEDGE6 dynamic enablement + +WP13-02A2 removes a compatibility-only blocker for the already implemented +generic Newmark and harmonic solvers. It does not modify the WEDGE6 FEM +formulation, add a maturity record, or qualify WEDGE6 dynamics. + +The machine-readable evidence is +[`wp13_02a2_wedge6_dynamic_evidence.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a2_wedge6_dynamic_evidence.json). +The preceding frozen contracts remain unchanged: +[`Newmark`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_newmark_contract.json) and +[`harmonic`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_harmonic_contract.json). + +## Root cause and minimal enablement + +Before this step, WEDGE6 declared only `linear_static` and `modal` in its +technical descriptor. The router and the generic K/M-based dynamic solvers +already existed, but compatibility preflight returned +`UNSUPPORTED_ROUTE / ANALYSIS_NOT_SUPPORTED` before dispatch. No mass, +damping, post-processing or numerical formulation defect was found. + +The descriptor now declares `transient_dynamic` and `harmonic_response` as +technical routes. Because no 0.2.7/0.2.8 maturity combination was added, both +routes return `EXPERIMENTAL_ROUTE / NO_REGISTRY_COMBINATION`. This enables an +explicit experimental route without promoting WEDGE6 or changing the 46 +combination registry. + +## Targeted evidence + +The WEDGE6 consistent K/M checks pass: local K and M are symmetric, the free +mass is positive, the mass sum is `23400 kg` over translational components, and +rigid-body residuals are below `4.81e-18` relative. The existing modal route +remains unchanged; its first three frequencies are `592.6962`, `767.0890` and +`887.0670 Hz`, with maximum relative residual `1.35e-14`. + +The pure Newmark micro-run uses the first dense K/M mode as an initial +condition. Four levels (`T1/20` through `T1/160`) converge; at `T1/80` and +`T1/160` the frozen amplitude/phase gates pass. Energy drift is `3.29e-13` +and the fine-level dynamic residual is `1.60e-8`. Two replays are identical +within the numerical replay gate. + +The pure harmonic micro-run covers the static limit, off-resonance and the +first-mode neighborhood with 2% mass-proportional damping. The independent +dense complex reference agrees to `2.94e-16` relative response error, phase +error is zero in this case, and the maximum relative residual is `1.92e-15`. + +A 48-DOF connected TET4/WEDGE6/HEX8 smoke also passes both routes. It contains +3 TET4, 2 WEDGE6 and 1 HEX8 in the path +`LOAD -> TET4 -> WEDGE6 -> HEX8 -> SUPPORT`; both dynamic routes retain all +families and use the generic assembly path. This smoke is not a mixed V&V +qualification campaign. + +## Status and limits + +`WEDGE6 Newmark = EXPERIMENTAL_INTERNAL_ROUTE_CANDIDATE` and +`WEDGE6 harmonic = EXPERIMENTAL_INTERNAL_ROUTE_CANDIDATE`. Full mixed dynamic +V&V, dt/frequency gates, interface conservation, replays and Owner decisions +remain WP13-02B and WP13-02C. No public maturity promotion or external +correlation claim is made. + +The full suite remains deferred to the WP13 final gate. diff --git a/docs/verification/0_2_8/wp13_02a_dynamic_readiness.md b/docs/verification/0_2_8/wp13_02a_dynamic_readiness.md new file mode 100644 index 00000000..7023d7a0 --- /dev/null +++ b/docs/verification/0_2_8/wp13_02a_dynamic_readiness.md @@ -0,0 +1,79 @@ +--- +doc_id: DOC-028-WP13-02A-READINESS-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02A mixed dynamics readiness and frozen contracts + +WP13-02A is a readiness and contract-freeze step. It does not execute a +Newmark or harmonic campaign, change an element formulation, promote maturity, +or alter any 0.2.7 evidence. + +The machine-readable audit is +[`wp13_02a_readiness.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_readiness.json). +The frozen contracts are the [Newmark contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_newmark_contract.json) +and the [harmonic contract](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_harmonic_contract.json). +They were committed before the readiness measurements under commit +`e7c75286dbf073b7b82f05eaef276dabc05684e0`, from baseline +`889fbf27328e843813b670bcbded98327e320b24`. + +## Readiness outcome + +The generic small-system solvers already provide Newmark and harmonic paths, +consistent K/M assembly, Rayleigh damping, temporal/harmonic loads, initial +conditions and result records for declared pure routes. Existing targeted +tests confirm the pure TET4 and HEX8 routes, while the WEDGE6 kernel provides +stiffness and consistent mass matrices. + +The public compatibility boundary is the blocker: WEDGE6 declares only +`linear_static` and `modal`. A mixed model containing WEDGE6 is therefore +rejected by preflight for both `transient_dynamic` and `harmonic_response` +before the generic solver is entered. This is an explicit unsupported route, +not a silent fallback. WEDGE6 dynamic damping, loads, interface transfer and +post-processing consequently remain unvalidated. + +## Connected campaign model + +The frozen future campaign uses the conditioned compact elbow already used for +the bounded connected static MVP: 3 TET4, 2 WEDGE6 and 1 HEX8 in one connected +component, with the mechanical path + +`LOAD -> TET4 -> WEDGE6 -> HEX8 -> SUPPORT`. + +The load is applied only on TET4 and the support only on HEX8; there is no +direct support bypass. The pre-run geometry proxies are aspect ratio `1.7321`, +Jacobian determinant range `[0.125, 1.0]`, maximum affine Jacobian condition +`3.7321`, assembled positive-K diagonal ratio `10`, and assembled consistent-M +diagonal ratio `5.5556`. A global condition number was not computed and is not +claimed. + +## Frozen V&V policy + +Newmark uses average acceleration (`beta=0.25`, `gamma=0.5`), an independent +dense K/M generalized-eigen reference and the closed-form first-mode oscillator +for the declared initial-condition case. Its frozen levels are `T1/20`, +`T1/40`, `T1/80` and `T1/160`, with amplitude, phase, frequency, residual, +energy, interface-transfer and two-replay gates. Harmonic uses the same +independent first-mode reference, 2% mass-proportional damping and the fixed +frequency ratios `0, 0.5, 0.8, 0.95, 1.0, 1.05, 1.2, 1.5, 2.0` times `f1`, +covering the static limit, off-resonance and near-resonance behavior. + +No tolerance is result-dependent. No external-correlation claim is made. A +separate Owner decision is required after 02B/02C evidence; these contracts do +not authorize implementation or promotion. + +## Targeted checks + +The readiness checks passed: 12 targeted tests, JSON validation, K/M and +conditioning precheck, Ruff, compileall and diff checks. The WEDGE6 dynamic +compatibility smoke check returned the expected explicit +`ANALYSIS_NOT_SUPPORTED` result for both routes. The full suite remains +deferred to the WP13 final gate. + +`WP13-02A = PASS_WITH_LIMITATIONS`: the 3 readiness/contract points are +validated, but WP13-02B is not ready to execute until the WEDGE6 dynamic route +is separately enabled and its missing V&V path is addressed. diff --git a/docs/verification/0_2_8/wp13_02b2_evidence_closure.md b/docs/verification/0_2_8/wp13_02b2_evidence_closure.md new file mode 100644 index 00000000..2e97addd --- /dev/null +++ b/docs/verification/0_2_8/wp13_02b2_evidence_closure.md @@ -0,0 +1,114 @@ +--- +doc_id: DOC-028-WP13-02B2-EVIDENCE-CLOSURE-001 +revision: 0.1 +status: owner_review_required +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02B2 — Newmark evidence closure + +This record closes the missing machine-readable evidence for the frozen +WP13-02B Newmark campaign. It does not promote the candidate claim and does +not modify the original contract, the WP13-02B result, the formulation, or +any 0.2.7 evidence. + +## Frozen contract and interpretation + +The source contract is +[`WP13-02A-NEWMARK-MIXED-CONTRACT-001`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_newmark_contract.json) +with Git blob SHA +`7e5af8374e33e8d45a61d4a60b01127802bfca64`. The closure runner verified that +the blob is unchanged. + +The original contract declares `T1/20`, `T1/40`, `T1/80` and `T1/160`, but it +does not explicitly state whether the displacement RMS, phase, refinement and +replay gates apply at every level or only at the fine levels. It also does not +name a replay level. Therefore this record marks the interpretation as +`CONTRACT_AMBIGUITY`; it records, but does not insert, the fine-level +interpretation used by the earlier WP13-02B evidence. + +| Evidence or gate | Recorded interpretation | +| --- | --- | +| All four time-step runs | Executed and archived | +| Frequency, dynamic residual, energy, continuity and force transfer | Measured at every declared level where the metric is defined | +| Displacement RMS, phase and refinement | Fine-level result is recorded; coarse applicability remains Owner-reviewable | +| Modal `q`, velocity and acceleration controls | Full arrays and errors archived; `v/a` are characterization because no separate contract gates exist | +| Replay | Two complete `T1/160` replays are archived; the original contract does not name the level | +| Interface energy | Explicit diagnostic measurement; no separate numeric threshold is added retroactively | + +The coarse levels are not relabeled as passing oracle-gate levels. The +T1/20 and T1/40 data remain characterization data, while the fine-level +results are reported without changing their predeclared numeric values. + +## Raw archive + +The machine-readable manifest is +[`manifest.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b2_raw/manifest.json), +and the complete float64 archive is +[`wp13_02b2_raw_arrays.npz`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b2_raw/wp13_02b2_raw_arrays.npz). +The NPZ contains the time vector, displacement, velocity, acceleration, +reaction and residual histories for every declared level, plus modal +coordinates and analytical controls, probe records, interface power records, +and both complete replay records. The manifest contains the array shapes and +SHA-256 digest for every archived array and the archive itself. + +The monitored probe is node 13, `UZ`; the modal controls are +`q = phi_unit.T @ M @ u`, `qv = phi_unit.T @ M @ v` and +`qa = phi_unit.T @ M @ a`, using the generalized-mass-normalized independent +reference mode. + +The relative modal errors are: + +| Level | q error | v error | a error | +| --- | ---: | ---: | ---: | +| T1/20 | 1.1660793079e-1 | 1.1910981196e-1 | 1.1660793079e-1 | +| T1/40 | 2.9549933179e-2 | 2.9991747120e-2 | 2.9549933179e-2 | +| T1/80 | 7.4228755026e-3 | 7.4928691458e-3 | 7.4228755027e-3 | +| T1/160 | 1.8593674730e-3 | 1.8707012222e-3 | 1.8593674730e-3 | + +The q control follows the declared displacement-scale gate at the fine +levels; the velocity and acceleration columns are retained as explicit +controls, not silently assigned a new gate. + +## Interface-energy diagnostic + +For each interface, the archived power traces are formed from the local +element `K*u + M*a` contributions on the shared interface DOFs and integrated +with the recorded time vector. This is a diagnostic energy-transfer +decomposition, distinct from shared-DOF identity and from the original force +transfer gate. + +At T1/160: + +- TET4/WEDGE6 transfer: `+4.8023619574e-7 J` and + `-4.8023619338e-7 J`; absolute closure error + `2.3816808870e-15 J`, relative closure `2.4796974009e-9`. +- WEDGE6/HEX8 transfer: `+4.2232423892e-7 J` and + `-4.2232424016e-7 J`; absolute closure error + `1.2318987313e-15 J`, relative closure `1.4584750483e-9`. + +These values are archived as `PASS_WITH_LIMITATIONS` diagnostics: the +original contract has no separately predeclared interface-energy threshold, +so no new threshold is applied after observation. + +## Replay and failure contract + +Two complete T1/160 replays have identical convergence status and iterations. +The archived displacement, velocity, acceleration, reaction, residual and +energy arrays have zero relative differences and identical SHA-256 digests. + +The targeted failure cases reject invalid time step, missing/invalid mass, +unsupported damping, unsupported time load, invalid initial conditions, +invalid mixed connectivity and unsupported dynamic family. No silent family +fallback was observed. + +## Status + +`WP13-02B2 = CONTRACT_AMBIGUITY_BLOCKING`. + +The raw evidence closure is complete, but a new Owner Gate must decide the +applicability of the frozen contract's coarse/fine gates and the replay-level +interpretation. This note is reviewable metadata only; the original contract +and the historical WP13-02B rejection remain unchanged. diff --git a/docs/verification/0_2_8/wp13_02b5_newmark_v2.md b/docs/verification/0_2_8/wp13_02b5_newmark_v2.md new file mode 100644 index 00000000..617cf986 --- /dev/null +++ b/docs/verification/0_2_8/wp13_02b5_newmark_v2.md @@ -0,0 +1,59 @@ +--- +doc_id: DOC-028-WP13-02B5-NEWMARK-V2-001 +revision: 0.1 +status: owner_review_required +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02B5 — Newmark V2 campaign + +WP13-02B5 executes the pre-declared contract +[`WP13-02B4-NEWMARK-MIXED-V2-001`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b4_newmark_v2_contract.json) +from commit `ccab01854f42d56aa6dc7202d9c5dd76dd9b2dde`. The contract, gates, +benchmark, formulation and prior WP13-02B/02B2/02B3 records are unchanged. + +## Scope and archive + +The run uses a connected 48-DOF model with 3 TET4, 2 WEDGE6 and 1 HEX8, one +connected component, consistent mass, zero Rayleigh damping and a first-mode +initial condition. The full machine-readable result is recorded in +[`manifest.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b5_v2/manifest.json) +and the float64 archive in +[`wp13_02b5_arrays.npz`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b5_v2/wp13_02b5_arrays.npz). +The archive contains all four time-step histories, oracle controls, interface +records and two complete T1/160 replays; the manifest records shapes and +SHA-256 digests for all 166 arrays. + +The independent dense K/M reference gives a first frequency of +`97.80394654204198 Hz`; the production modal cross-check is +`97.80394654200138 Hz`, with relative error `4.151203847779255e-13`. + +## Results + +T1/20 and T1/40 are retained as `CHARACTERIZATION_ONLY`; T1/80 and T1/160 +are the declared `ACCEPTANCE` levels. All five convergence sequences are +strictly decreasing and have observed orders within the frozen `1.5 <= p <= +2.5` gate. The acceptance gates pass at both fine levels, including full +displacement/velocity/acceleration controls, residual, energy, continuity, +force transfer and interface-energy metrics. The two T1/160 replays pass +numerical determinism with identical status/iterations and zero recorded +relative differences across the archived fields. + +## Failure-contract blocker + +The numerical campaign and its acceptance gates pass, but the required +failure contract does not. The malformed `initial_conditions` non-list case +was **not rejected** by the runtime path. The other invalid-dt, missing-mass, +damping, time-load, unknown-DOF, mixed-interface and unsupported-family cases +are recorded with explicit rejection or route refusal, and no silent fallback +was observed. + +Therefore: + +`WP13-02B5 = FAIL_FAILURE_CONTRACT` + +There is no claim candidate and no automatic promotion. A separate scoped +remediation and rerun under this unchanged contract are required before an +Owner Gate can review a candidate. No 0.2.7 evidence was modified. diff --git a/docs/verification/0_2_8/wp13_02b7_newmark_v2_rerun.md b/docs/verification/0_2_8/wp13_02b7_newmark_v2_rerun.md new file mode 100644 index 00000000..cd40422b --- /dev/null +++ b/docs/verification/0_2_8/wp13_02b7_newmark_v2_rerun.md @@ -0,0 +1,48 @@ +--- +doc_id: DOC-028-WP13-02B7-NEWMARK-V2-RERUN-001 +revision: 0.1 +status: owner_review_required +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02B7 — Newmark V2 rerun + +WP13-02B7 reruns the exact contract +[`WP13-02B4-NEWMARK-MIXED-V2-001`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b4_newmark_v2_contract.json) +at `fc6b32c8ea1fff0a98390b7788018b14e2ac4891`, after the focused WP13-02B6 +input-validation fix. The contract blob remains +`8b44792466eacaf1f341a7970502e9b48dbed4e1`; no gate, benchmark, oracle or +formulation was changed. + +## Campaign evidence + +The connected 48-DOF model contains 3 TET4, 2 WEDGE6 and 1 HEX8 with +consistent mass, zero damping and a valid first-mode initial condition. The +four declared levels were executed: T1/20 and T1/40 as characterization, and +T1/80 and T1/160 as acceptance levels. All convergence orders are within +`1.5 <= p <= 2.5`; fine-level accuracy, residual, energy and all interface +gates pass. Interface gates were checked at all four levels. + +The independent dense K/M oracle gives `97.80394654204198 Hz`; runtime gives +`97.80394654200138 Hz`, with eigenfrequency error `4.151203847779255e-13`. +Two complete T1/160 replays pass numerical determinism with full archived +array comparisons within `1e-12`. + +The complete machine-readable evidence is in +[`manifest.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b7_v2/manifest.json) and +[`wp13_02b7_arrays.npz`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b7_v2/wp13_02b7_arrays.npz), +including all 166 float64 arrays, inputs, oracle, interface records, replays +and SHA-256 digests. + +## Failure contract and historical record + +All seven failure-contract categories now pass. In particular, +non-list `initial_conditions` is rejected explicitly with +`InputValidationError`; no silent fallback is observed. + +The prior B5 record remains unchanged and visible as +`FAIL_FAILURE_CONTRACT`. B7 is therefore `PASS_V2_CANDIDATE`, not an +automatic promotion. The bounded claim remains pending the separate Owner +Gate; no 0.2.7 evidence was modified. diff --git a/docs/verification/0_2_8/wp13_02b_mixed_newmark.md b/docs/verification/0_2_8/wp13_02b_mixed_newmark.md new file mode 100644 index 00000000..9855524a --- /dev/null +++ b/docs/verification/0_2_8/wp13_02b_mixed_newmark.md @@ -0,0 +1,67 @@ +--- +doc_id: DOC-028-WP13-02B-MIXED-NEWMARK-001 +revision: 0.1 +status: controlled_candidate +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02B connected mixed Newmark campaign + +WP13-02B executes the frozen Newmark contract +[`WP13-02A-NEWMARK-MIXED-CONTRACT-001`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02a_newmark_contract.json) +on the connected compact elbow. It does not change the Newmark formulation, +the contract gates, the historical maturity registry, or any 0.2.7 evidence. + +The machine-readable evidence is +[`wp13_02b_mixed_newmark_evidence.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02b_mixed_newmark_evidence.json). + +## Campaign scope + +The model has 48 translational DOF, one connected component, 3 TET4, 2 +WEDGE6 and 1 HEX8. The conforming interfaces are TET4/WEDGE6 on nodes +10/11/12 and WEDGE6/HEX8 on nodes 2/3/6/7. The declared mechanical path is + +`initial modal state -> TET4 -> WEDGE6 -> HEX8 -> fixed HEX8 support`. + +The primary case is undamped free vibration: external load is zero after the +declared first-mode initial displacement, initial velocity is zero, and +consistent mass is used. The monitored probe is node 13, `UZ`. + +## Independent reference and results + +The reference was assembled by an independent local-element K/M scatter and a +dense generalized eigensolve, followed by the closed-form first-mode +oscillator. It did not call the production Newmark loop, router, or time +integrator. The reference first frequency is 97.80394654204198 Hz; the +production modal cross-check is 97.80394654200138 Hz. + +All four frozen time-step levels were executed. T1/20 and T1/40 are retained +as coarse convergence characterization; the frozen oracle amplitude, phase, +and RMS gates pass at T1/80 and T1/160. The T1/80-to-T1/160 relative probe +refinement is 5.585216889486116e-3 against the 1e-2 fine-refinement gate. +Maximum observed energy drift is 1.8201536793793772e-13. Capturing every +Newmark step gives a maximum interface force-transfer metric of +3.66742111211155e-12 relative and a maximum interface energy decomposition +error of 3.948190782042867e-14. + +The two complete T1/160 replays pass numerical determinism with identical +iterations and zero relative differences in the recorded displacement, +velocity, acceleration, reaction, residual and energy records. + +## Failure contract and limits + +Invalid time step, incompatible damping, invalid initial condition, invalid +interface connectivity, unsupported time load, and unsupported dynamic family +inputs fail explicitly. No silent family substitution or fallback was +observed. + +This is a bounded workflow result, not a maturity promotion. It does not +claim arbitrary temporal loads, nonlinear dynamics, nonconforming interfaces, +distributed performance, external correlation, or general mixed transient +support. A separate WP13-02D Owner gate is required before any public claim. + +`WP13-02B = PASS_WITH_LIMITATIONS`; the technical record is 8/8 points and +WP13-02C may be considered separately. The full regression suite remains +deferred to the WP13 final gate. diff --git a/docs/verification/0_2_8/wp13_02c2_harmonic_harness.md b/docs/verification/0_2_8/wp13_02c2_harmonic_harness.md new file mode 100644 index 00000000..2977b974 --- /dev/null +++ b/docs/verification/0_2_8/wp13_02c2_harmonic_harness.md @@ -0,0 +1,44 @@ +--- +doc_id: DOC-028-WP13-02C2-HARMONIC-HARNESS-001 +revision: 0.1 +status: owner_review_required +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02C2 harmonic harness/evidence correction + +WP13-02C2 is a harness-only micro-check. It does not rerun the frozen +WP13-02C harmonic campaign and does not modify its contract, gates, solver +formulation, result manifest or archive. + +The corrected record is +[manifest.json](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c2_harmonic_harness/manifest.json) +with its machine-readable micro-check arrays in +[wp13_02c2_harness_arrays.npz](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c2_harmonic_harness/wp13_02c2_harness_arrays.npz). +The evidence schema is +[wp13_02c_harmonic_evidence.schema.json](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c_harmonic_evidence.schema.json). + +## Corrections covered + +The harness gathers interface displacement states and dynamic forces from +independent family-local element incidences; it does not assign both sides +from the same global slice. The interface energy denominator records +the product of the Ffree L2 norm and the response L2 norm, including both +norms and the numerator. + +The replay comparator covers complete complex displacement, reaction and +residual arrays, amplitudes, phases, interface states, force/work metrics and +status. All nine rejection cases are executed and require exact exception +type, message pattern and traceback path matches. The manifest freezes the +evaluator, schema, contract, repository and environment digests before any +future C3 numerical campaign. + +The modal coordinate is archived as q = phi^H M x together with amplitude, +phase, source and normalization. It is diagnostic evidence only; no +first-mode-dominated claim is created. + +The original C campaign remains explicitly nonconforming under the corrected +evidence schema and is preserved unchanged. No 0.2.7, Newmark, numerical +kernel, formulation, gate or maturity record was changed. diff --git a/docs/verification/0_2_8/wp13_02c3_harmonic_final.md b/docs/verification/0_2_8/wp13_02c3_harmonic_final.md new file mode 100644 index 00000000..fe1472b4 --- /dev/null +++ b/docs/verification/0_2_8/wp13_02c3_harmonic_final.md @@ -0,0 +1,32 @@ +--- +doc_id: DOC-028-WP13-02C3-HARMONIC-FINAL-001 +revision: 0.1 +status: owner_review_required +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02C3 final mixed harmonic campaign + +WP13-02C3 replays the complete frozen twelve-point harmonic campaign under +the unchanged contract +[WP13-02C-HARMONIC-MIXED-001](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c_harmonic_contract.json). +The campaign was run after the C2 harness freeze and produced a separate +[manifest](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c3_harmonic_final/manifest.json) +and NPZ archive. + +All declared numerical gates pass. The dense complex K/M/C reference is the +acceptance oracle. The first-mode participation is only +4.470077849416487e-7, so the result does not support a first-mode-dominated +claim. The reported peak is therefore limited to the frozen frequency-grid +FRF peak. + +Interface states are collected independently from family-local element +incidences for TET4/WEDGE6 and WEDGE6/HEX8. Replay comparisons cover complex +fields, modal coordinates, interface fields, work/energy and status. All nine +failure-contract cases pass strict type/message/path matching. + +The original C campaign, its Owner rejection and the C2 remediation record +remain unchanged. No 0.2.7 evidence, formulation, numerical source, contract, +gate or maturity record was modified. diff --git a/docs/verification/0_2_8/wp13_02c_mixed_harmonic.md b/docs/verification/0_2_8/wp13_02c_mixed_harmonic.md new file mode 100644 index 00000000..ba33dd14 --- /dev/null +++ b/docs/verification/0_2_8/wp13_02c_mixed_harmonic.md @@ -0,0 +1,45 @@ +--- +doc_id: DOC-028-WP13-02C-MIXED-HARMONIC-001 +revision: 0.1 +status: owner_review_required +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# WP13-02C connected mixed harmonic campaign + +This record covers the separate WP13-02C harmonic workflow for the connected +TET4/WEDGE6/HEX8 compact elbow. The machine-readable contract was committed +before the numerical campaign in commit +`4f6e4490d4069b417e9830b8b6a7dc595bd23bb6` and is +[`wp13_02c_harmonic_contract.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c_harmonic_contract.json). + +The evidence is archived in +[`manifest.json`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c_harmonic_v1/manifest.json) +and [`wp13_02c_harmonic_arrays.npz`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/wp13_02c_harmonic_v1/wp13_02c_harmonic_arrays.npz). + +## Scope and result + +The run uses one connected component with 3 TET4, 2 WEDGE6 and 1 HEX8, +consistent translational mass, 2% mass-proportional Rayleigh damping, the +frozen frequency ratios `0, 0.25, 0.5, 0.75, 0.9, 0.98, 1.0, 1.02, 1.1, +1.25, 1.5, 2.0`, and a direct complex SciPy solve. The load is applied on +the TET4 end face and the support is only on HEX8, so the declared mechanical +path is `LOAD -> TET4 -> WEDGE6 -> HEX8 -> SUPPORT`. + +The dense independent K/M/C reference, static limit, complex residuals, +interface displacement/force/work checks, family energies, replays and all +nine runtime failure cases passed their predeclared checks. This is a +technical candidate only; the Owner Gate remains mandatory. + +## Explicit limitation + +The dense oracle is the acceptance oracle. The analytical first-mode SDOF +calculation is retained as supporting diagnostic evidence only. The frozen +TET4 end-face load has a very small first-mode participation in this discrete +model, so the evidence does not support a first-mode-dominance claim and does +not generalize to arbitrary FRF, damping, loading or geometry. + +No 0.2.7 evidence, Newmark evidence, formulation, gate or maturity record was +changed by this campaign. diff --git a/docs/verification/discrete_multidof_stable_candidate_2026-08-21.md b/docs/verification/discrete_multidof_stable_candidate_2026-08-21.md index 936d0c1e..fcc39eec 100644 --- a/docs/verification/discrete_multidof_stable_candidate_2026-08-21.md +++ b/docs/verification/discrete_multidof_stable_candidate_2026-08-21.md @@ -41,7 +41,7 @@ La campagne externe Code_Aster mono-DDL reste la preuve de correlation externe. La presente etude ajoute une preuve de bonne gestion de l'assemblage, de la masse, des matrices couplees et des methodes lineaires sur plusieurs DDL. -![Resultats multi-DDL](../../qualification/vnv/discrete_multidof_2026-08-21/discrete_multidof_results.png) +*Resultats multi-DDL — source artifact not included in the tracked release tree.* ## Limites maintenues @@ -52,10 +52,10 @@ automatique vers `stable`. ## Artefacts -- [`summary.json`](../../qualification/vnv/discrete_multidof_2026-08-21/summary.json) -- [`report.md`](../../qualification/vnv/discrete_multidof_2026-08-21/report.md) -- [`discrete_multidof_results.png`](../../qualification/vnv/discrete_multidof_2026-08-21/discrete_multidof_results.png) -- [`vnv_manifest.json`](../../qualification/vnv/discrete_multidof_2026-08-21/vnv_manifest.json) +- `summary.json` (source artifact not included in the tracked release tree) +- `report.md` (source artifact not included in the tracked release tree) +- `discrete_multidof_results.png` (source artifact not included in the tracked release tree) +- `vnv_manifest.json` (source artifact not included in the tracked release tree) Commande de regeneration : diff --git a/docs/verification/evidence-and-maturity.md b/docs/verification/evidence-and-maturity.md new file mode 100644 index 00000000..0c1dddb1 --- /dev/null +++ b/docs/verification/evidence-and-maturity.md @@ -0,0 +1,76 @@ +--- +doc_id: DOC-VV-MATURITY-028-001 +revision: 1.0 +status: controlled +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# V&V, evidence and maturity + +**Current state:** QF Solver `0.2.8` development / release preparation +**Publication:** `NOT_PUBLISHED_YET` + +This page explains how a public capability status is supported. The current +orientation is maintained by the [0.2.8 capability index](../capabilities/index.md) +and the [consolidated element-analysis registry](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/0_2_8/consolidated_registry.json). + +## Evidence chain + +A bounded V&V campaign is expected to preserve the following chain: + +1. **Prospective contract** — scope, inputs, tolerances, gates and failure + policy are declared before the campaign. +2. **Frozen execution** — the declared formulation, model, solver route and + gates are not changed after observing results. +3. **Evidence pack** — raw or machine-readable results, environment, source + provenance and integrity digests are retained at the linked record. +4. **Independent checks** — analytical, dense, external or otherwise + independent oracle evidence is identified with its limitations. +5. **Replay** — deterministic or semantic replay compares the declared arrays, + states, residuals and status fields. +6. **Failure contract** — invalid inputs and unsupported scopes fail closed with + explicit, traceable errors. +7. **Decision record** — an Owner Gate or delivery record states the final + bounded scope and limitations. + +Large raw arrays and campaign artifacts remain repository evidence. Public +pages link to the relevant manifests and records without presenting raw data +as a general performance or physics claim. + +## Maturity vocabulary + +| Label | Meaning in the 0.2.8 public surface | +| --- | --- | +| `QUALIFIED_BOUNDED` | The declared combination passed its frozen qualification gates within the recorded scope. It is not a universal claim. | +| `EXPERIMENTAL_BOUNDED` | A usable route with bounded evidence and explicit limitations, not a general qualified capability. | +| `EXPERIMENTAL` | An exploratory or partially verified route whose evidence is insufficient for bounded qualification. | +| `RESEARCH_ONLY` | Discovery or feasibility work; no production support claim. | +| `NOT_VALIDATED` | Implementation or architecture may exist, but the required validation gates did not pass or were not executed. | +| `INTERNAL` | Retained for development and traceability; not a public supported route. | + +The 46 element-analysis records currently remain `32 QUALIFIED_BOUNDED`, +`14 EXPERIMENTAL`, `0 NOT_QUALIFIED`. Separate mixed workflows and capability +records do not change those counts. + +## Current boundaries + +- Mixed static, modal, translational MPC and multi-material workflows are + separate bounded serial records. +- Mixed Newmark and harmonic workflows are `EXPERIMENTAL_BOUNDED` serial + workflows with frozen timestep, frequency and damping scopes. +- The mixed distributed PETSc/MPI runtime is `NOT_VALIDATED`; WP13-01C remains + unresolved and is deferred beyond the 0.2.8 release gate. +- The `.inp`, HDF5, frictionless contact and HEX8-SRI capabilities remain + separate bounded experimental records. +- PYRAMID5, geometric nonlinear discovery and high-order interface feasibility + remain internal or research routes. + +## Historical separation + +The [0.2.7 verification summary](0_2_7/README.md) and historical benchmark +pages are immutable provenance. Chronological WP01 and earlier interim +dispositions in the [0.2.8 evidence summary](0_2_8/README.md) are retained for +auditability, but they are not the current maturity state. Use the capability +index and consolidated registry for current status. diff --git a/docs/verification/index.md b/docs/verification/index.md index e72d4913..94a49d3b 100644 --- a/docs/verification/index.md +++ b/docs/verification/index.md @@ -2,15 +2,19 @@ doc_id: DOC-VV-000 revision: 1.0 status: controlled -applicable_version: 0.2.7 +applicable_version: 0.2.8-development reviewer: "" approver: "" --- # Verification and evidence -The active 0.2.7 public evidence summary is the canonical entry point: -[verification/0_2_7/README.md](0_2_7/README.md). +The [0.2.8 capability index](../capabilities/index.md) is the current public +status entry point. The [V&V and maturity model](evidence-and-maturity.md) +explains the evidence chain. The 0.2.8 development evidence summary is the +chronological entry point: +[verification/0_2_8/README.md](0_2_8/README.md). The +[0.2.7 summary](0_2_7/README.md) remains immutable historical evidence. Detailed work-package, gate and audit records are retained as traceability records, not as user-facing product status. @@ -33,4 +37,17 @@ The active release evidence is bounded by the declared element, analysis, material, mesh, loading and solver scope. Historical campaign counts remain in their original records and are not current release metrics. +## Current 0.2.8 links + +- [Capability index](../capabilities/index.md) +- [What's New](../whats-new/0.2.8.md) +- [Known limitations](../etat/limites.md) + +The current candidate is `0.2.8-development` and is not published yet. + +Historical and intermediate pages remain directly accessible for provenance +and are visibly labeled. The current MkDocs search configuration has no +verified exclusion policy for those records, so search-specific demotion or +exclusion is deferred rather than approximated with an untested extension. + --8<-- "docs/generated/qualification_status.md" diff --git a/docs/verification/mitc3_laminate_curved_code_aster.md b/docs/verification/mitc3_laminate_curved_code_aster.md index 62248c21..1f8bc0aa 100644 --- a/docs/verification/mitc3_laminate_curved_code_aster.md +++ b/docs/verification/mitc3_laminate_curved_code_aster.md @@ -119,7 +119,7 @@ mais conserve le gate général bloqué tant que l'asymptote axiale et la comparabilité des formulations ne sont pas établies sur une seconde géométrie ou par une référence de même ordre. -![Audit externe axial](../assets/generated/mitc3_curved_axial_reference_audit.png) +*Audit externe axial — source artifact not included in the tracked release tree.* ## Lecture des figures diff --git a/docs/verification/owner_review_open_gates_0_2_1.md b/docs/verification/owner_review_open_gates_0_2_1.md index db60227e..9b9d91aa 100644 --- a/docs/verification/owner_review_open_gates_0_2_1.md +++ b/docs/verification/owner_review_open_gates_0_2_1.md @@ -39,7 +39,7 @@ Ce gate requiert une relecture independante. Une decision du proprietaire seule ### Figures de preuve -![Figure de preuve](/docs/assets/reviews/tet4_tl_assembly_convergence.png) +![Figure de preuve](../assets/reviews/tet4_tl_assembly_convergence.png) *docs/assets/reviews/tet4_tl_assembly_convergence.png* ### Criteres @@ -91,7 +91,7 @@ Fiche controlee : `qualification/reviews/tet4_total_lagrangian_independent_revie ### Figures de preuve -![Figure de preuve](/docs/assets/reviews/mitc3_laminate_code_aster_comparison.png) +![Figure de preuve](../assets/reviews/mitc3_laminate_code_aster_comparison.png) *docs/assets/reviews/mitc3_laminate_code_aster_comparison.png* ### Criteres @@ -139,9 +139,9 @@ Fiche controlee : `qualification/reviews/mitc3_laminate_dynamic_dkt_thin_owner_r ### Figures de preuve -![Figure de preuve](/docs/assets/reviews/mitc3_curved_laminate_code_aster_convergence.png) +![Figure de preuve](../assets/reviews/mitc3_curved_laminate_code_aster_convergence.png) *docs/assets/reviews/mitc3_curved_laminate_code_aster_convergence.png* -![Figure de preuve](/docs/assets/reviews/mitc3_curved_laminate_code_aster_deformation.png) +![Figure de preuve](../assets/reviews/mitc3_curved_laminate_code_aster_deformation.png) *docs/assets/reviews/mitc3_curved_laminate_code_aster_deformation.png* ### Criteres diff --git a/docs/verification/owner_review_stable_promotions_0_2_1.md b/docs/verification/owner_review_stable_promotions_0_2_1.md index d1c1ecac..143f7f6d 100644 --- a/docs/verification/owner_review_stable_promotions_0_2_1.md +++ b/docs/verification/owner_review_stable_promotions_0_2_1.md @@ -32,9 +32,9 @@ Nombre de scopes : **3**. ### Figures de preuve -![Figure de preuve](/docs/assets/reviews/orthotropic_solid_convergence.png) +![Figure de preuve](../assets/reviews/orthotropic_solid_convergence.png) *docs/assets/reviews/orthotropic_solid_convergence.png* -![Figure de preuve](/docs/assets/reviews/orthotropic_lbracket_code_aster.png) +![Figure de preuve](../assets/reviews/orthotropic_lbracket_code_aster.png) *docs/assets/reviews/orthotropic_lbracket_code_aster.png* ### Criteres @@ -75,7 +75,7 @@ Decision : `__________` Nom : `__________` Date : `__________` Signature : `_ ### Figures de preuve -![Figure de preuve](/docs/assets/reviews/orthotropic_modal_convergence.png) +![Figure de preuve](../assets/reviews/orthotropic_modal_convergence.png) *docs/assets/reviews/orthotropic_modal_convergence.png* ### Criteres @@ -119,9 +119,9 @@ Fiche controlee : `qualification/reviews/orthotropic_modal_owner_review_pending. ### Figures de preuve -![Figure de preuve](/docs/assets/reviews/orthotropic_newmark_convergence.png) +![Figure de preuve](../assets/reviews/orthotropic_newmark_convergence.png) *docs/assets/reviews/orthotropic_newmark_convergence.png* -![Figure de preuve](/docs/assets/reviews/orthotropic_code_aster_newmark.png) +![Figure de preuve](../assets/reviews/orthotropic_code_aster_newmark.png) *docs/assets/reviews/orthotropic_code_aster_newmark.png* ### Criteres diff --git a/docs/verification/project_hygiene_architecture_audit_0_2_1.md b/docs/verification/project_hygiene_architecture_audit_0_2_1.md index 70f89e0a..16fbf91c 100644 --- a/docs/verification/project_hygiene_architecture_audit_0_2_1.md +++ b/docs/verification/project_hygiene_architecture_audit_0_2_1.md @@ -11,11 +11,11 @@ approver: '' # Audit hygiene, architecture et manques - QF_solver 0.2.1 alpha ## Verdict **Le code publiable est propre du point de vue des marqueurs controles, mais la baseline de developpement n'est pas gelable aujourd'hui.** -- Audit de confidentialite du lot publiable : `PASS`, 1928 fichiers, 0 finding. +- Audit de confidentialite du lot publiable : `PASS`, 2774 fichiers, 0 finding. - Gate `release-vv` courant : `PENDING_FINAL_CAMPAIGN`. -- Git : source HEAD `dced044`, tag `none`; les sorties de preuve generees sont hors du calcul de proprete selon le contrat de provenance. +- Git : HEAD `9420c41`, tag `none`, 13 fichiers modifies et 4 fichiers non suivis. - Tests collectes : 1187. -- Limite 700 lignes : 0 depassement; 21 fichiers au-dessus de 600 lignes. +- Limite 700 lignes : 0 depassement; 39 fichiers au-dessus de 600 lignes. ## Confidentialite et publication Le scanner controle les chemins de poste, adresses privees, secrets courants, ancienne marque et vocabulaire d'assistance interne dans les sources candidates. Aucun finding n'est present dans le lot courant. Les fichiers locaux de configuration et le cache de graphe ne sont pas suivis par Git : `aucun`. L'identite complete de l'auteur/Owner reste volontairement presente dans 149 fichiers de metadonnees, attribution et revues signees. Ce n'est pas une donnee de poste, mais c'est bien une information personnelle publiee; elle doit rester un choix explicite du proprietaire. @@ -23,8 +23,8 @@ Cette verification ne prouve pas l'absence absolue de secret dans tout l'histori ## Structure Points solides : paquet `src/solveur` organise par responsabilite, elements separes, API et CLI dediees, MITC4 canonique sous `src/solveur/elements/shell/mitc4`, facade `src/solveur/compat/mitc4` de compatibilite, tests unitaires/integration/V&V distincts, seuil de 700 lignes et imports de couches controles. Points a corriger : -1. `scripts/` contient 241 fichiers Python a plat, dont 138 runners `run_*`. Les classer sous `scripts/vnv/code_aster`, `scripts/vnv/calculix`, `scripts/vnv/internal`, `scripts/docs` et `scripts/release`, avec wrappers temporaires si un chemin public est documente. -2. `src/solveur/verification` contient 188 modules. Le separer progressivement par familles sans changer les imports publics. +1. `scripts/` contient 327 fichiers Python a plat, dont 193 runners `run_*`. Les classer sous `scripts/vnv/code_aster`, `scripts/vnv/calculix`, `scripts/vnv/internal`, `scripts/docs` et `scripts/release`, avec wrappers temporaires si un chemin public est documente. +2. `src/solveur/verification` contient 194 modules. Le separer progressivement par familles sans changer les imports publics. 3. Plusieurs modules sont proches de la limite de 700 lignes. Les extractions doivent suivre les responsabilites et etre protegees par snapshots/V&V. 4. `src/solveur/documentation` ne contient plus de source active. Supprimer le repertoire vide local; ne pas recreer un runtime web tant que cette decision produit reste retiree. 5. La facade historique `src/solveur/compat/mitc4` est acceptable en 0.2.x, mais sa date de retrait 0.3.0 doit rester documentee et testee. @@ -32,16 +32,16 @@ Points a corriger : ## Plus gros fichiers Python | Fichier | Lignes | | --- | ---: | +| `scripts/build_owner_review_audit_pack.py` | 700 | +| `scripts/run_g07_b2_tl_external.py` | 699 | | `scripts/build_scope_closure_owner_review_pack.py` | 699 | | `src/solveur/verification/mitc4_modal_extended.py` | 697 | -| `scripts/build_owner_review_audit_pack.py` | 697 | | `src/solveur/verification/maturity_promotion.py` | 694 | | `scripts/build_release_0_2_3_owner_review_pdf.py` | 693 | +| `src/solveur/core/nonlinear/iteration.py` | 689 | +| `scripts/run_wp19_robustness.py` | 689 | +| `scripts/run_tl_robustness_rnd.py` | 688 | | `src/solveur/verification/release_vv.py` | 687 | -| `src/solveur/core/audit.py` | 684 | -| `src/solveur/core/modal.py` | 683 | -| `src/solveur/mesh/validation.py` | 674 | -| `src/solveur/core/dynamic.py` | 674 | ## Etat des Owner reviews Le paquet de promotion contient 33 scopes : 22 techniquement prets et 11 bloques uniquement par une decision Owner. Le total-lagrangien exige en plus une relecture independante; il ne peut pas etre ferme par auto-revue. Aucune promotion ne doit etre appliquee en bloc. ## Manques fonctionnels et industriels diff --git a/docs/verification/release_vv_0_2_1_closure_package_2026-08-22.md b/docs/verification/release_vv_0_2_1_closure_package_2026-08-22.md index b5d5abfb..aecb9c46 100644 --- a/docs/verification/release_vv_0_2_1_closure_package_2026-08-22.md +++ b/docs/verification/release_vv_0_2_1_closure_package_2026-08-22.md @@ -108,8 +108,8 @@ La fiche prete pour ta revalidation est : - `docs/verification/tet4_total_lagrangian_phase2_owner_review_2026-08-22.md` ; - `output/pdf/qf_solver_0_2_1_alpha_closure_owner_review_2026-08-22.pdf` ; - `qualification/reviews/tet4_total_lagrangian_phase2_owner_review_pending_2026-08-22.json` ; -- [resume tentative 012](../../results/VNV-TET4-TL-PHASE2-LARGE-012/summary.json) ; -- [rapport tentative 012](../../results/VNV-TET4-TL-PHASE2-LARGE-012/report.md). +- resume tentative 012 (source artifact not included in the tracked release tree) ; +- rapport tentative 012 (source artifact not included in the tracked release tree). ## Ce qui n'est pas encore valide pour la release diff --git a/docs/verification/tet4_error_causal_audit_2026-08-21.md b/docs/verification/tet4_error_causal_audit_2026-08-21.md index 97e052f1..a162bc1b 100644 --- a/docs/verification/tet4_error_causal_audit_2026-08-21.md +++ b/docs/verification/tet4_error_causal_audit_2026-08-21.md @@ -79,10 +79,10 @@ python .\scripts\run_tet4_error_audit.py Artefacts : -- [`summary.json`](../../qualification/vnv/tet4_error_audit_2026-08-21/summary.json) -- [`report.md`](../../qualification/vnv/tet4_error_audit_2026-08-21/report.md) -- [`tet4_error_convergence.png`](../../qualification/vnv/tet4_error_audit_2026-08-21/tet4_error_convergence.png) -- [`vnv_manifest.json`](../../qualification/vnv/tet4_error_audit_2026-08-21/vnv_manifest.json) +- `summary.json` (source artifact not included in the tracked release tree) +- `report.md` (source artifact not included in the tracked release tree) +- `tet4_error_convergence.png` (source artifact not included in the tracked release tree) +- `vnv_manifest.json` (source artifact not included in the tracked release tree) L'audit ne signe pas une Owner Review et ne change pas seul la maturite du scope. diff --git a/docs/verification/tet4_j2_structural_code_aster.md b/docs/verification/tet4_j2_structural_code_aster.md index 9b8223b6..3bea5a27 100644 --- a/docs/verification/tet4_j2_structural_code_aster.md +++ b/docs/verification/tet4_j2_structural_code_aster.md @@ -59,9 +59,9 @@ observees sont : | Ratio deplacement petits deplacements | `7.60e-3` | `1.0e-1` | PASS | | Residu relatif maximal QF_solver | `1.36e-12` | `1.0e-7` | PASS | -![Comparaison des chemins QF_solver et Code_Aster](../../qualification/vnv/external/code_aster_tet4_j2_complex/reference/comparison.png) +*Comparaison des chemins QF_solver et Code_Aster — source artifact not included in the tracked release tree.* -![Deformee de l'equerre TET4](../../qualification/vnv/external/code_aster_tet4_j2_complex/reference/deformation.png) +*Deformee de l'equerre TET4 — source artifact not included in the tracked release tree.* ## Interpretation et limites diff --git a/docs/verification/tet4_static_causal_audit_2026-08-21.md b/docs/verification/tet4_static_causal_audit_2026-08-21.md index 160753a7..7ea6c8d0 100644 --- a/docs/verification/tet4_static_causal_audit_2026-08-21.md +++ b/docs/verification/tet4_static_causal_audit_2026-08-21.md @@ -25,7 +25,7 @@ Elle distingue explicitement le cas statique du pas de temps et reprend les indicateurs modal, Newmark et harmonique sans modifier le statut de promotion. La version machine-readable de cet audit est -[`tet4_static_causal_audit_2026-08-21.json`](../../qualification/vnv/tet4_static_causal_audit_2026-08-21.json). +`tet4_static_causal_audit_2026-08-21.json` (source artifact not included in the tracked release tree). Elle constitue la source structurée des valeurs, du gate et des actions requises ; ce document Markdown reste la lecture technique détaillée. @@ -105,7 +105,7 @@ statique, il n'y a ni pas de temps ni integrateur temporel a raffiner. ### 1. Interpolation TET4 a deformation constante -Le noyau [`tet4.py`](../../src/solveur/elements/solid/tet4.py) definit des +Le noyau [`tet4.py`](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/src/solveur/elements/solid/tet4.py) definit des fonctions de forme lineaires. Les gradients sont constants dans l'element ; la matrice deformation-deplacement `B` est donc constante et la rigidite est calculee exactement avec une integration a un point : diff --git a/docs/verification/tet4_total_lagrangian_phase2_owner_review_2026-08-22.md b/docs/verification/tet4_total_lagrangian_phase2_owner_review_2026-08-22.md index 6257d9be..17106979 100644 --- a/docs/verification/tet4_total_lagrangian_phase2_owner_review_2026-08-22.md +++ b/docs/verification/tet4_total_lagrangian_phase2_owner_review_2026-08-22.md @@ -66,8 +66,8 @@ champs Owner ne sont pas remplis et enregistres. ## Liens -- [Resume de la tentative 012](../../results/VNV-TET4-TL-PHASE2-LARGE-012/summary.json) -- [Rapport de la tentative 012](../../results/VNV-TET4-TL-PHASE2-LARGE-012/report.md) +- Resume de la tentative 012 (source artifact not included in the tracked release tree) +- Rapport de la tentative 012 (source artifact not included in the tracked release tree) - [Feuille de route phase 2](tet4_total_lagrangian_phase2_roadmap_2026-08-22.md) -- [Ticket phase 2](../../qualification/tickets/tet4_total_lagrangian_phase2_2026-08-22.json) +- [Ticket phase 2](https://github.com/emptiesvoid-cloud/QF_solver/blob/0b356330bdbf63ca6c0406d9a5f816bd75246764/qualification/tickets/tet4_total_lagrangian_phase2_2026-08-22.json) diff --git a/docs/verification/tet4_total_lagrangian_structural_v2.md b/docs/verification/tet4_total_lagrangian_structural_v2.md index 55492580..12a35bf5 100644 --- a/docs/verification/tet4_total_lagrangian_structural_v2.md +++ b/docs/verification/tet4_total_lagrangian_structural_v2.md @@ -208,4 +208,4 @@ La grille detaillee est disponible dans Le dossier pret pour un relecteur independant est disponible en [Markdown](tet4_total_lagrangian_independent_review_pack.md) et en -[PDF](../../output/pdf/qf_solver_tet4_total_lagrangian_independent_review_0_2_1.pdf). +PDF (source artifact not included in the tracked release tree). diff --git a/docs/whats-new/0.2.8.md b/docs/whats-new/0.2.8.md new file mode 100644 index 00000000..59bb6c83 --- /dev/null +++ b/docs/whats-new/0.2.8.md @@ -0,0 +1,56 @@ +--- +doc_id: DOC-WHATS-NEW-028-001 +revision: 1.0 +status: controlled +applicable_version: 0.2.8-development +reviewer: "" +approver: "" +--- + +# What's New in QF Solver 0.2.8 + +**Status:** development / release preparation +**Publication:** `NOT_PUBLISHED_YET` + +This summary describes the current 0.2.8 candidate. It is not a release +announcement, tag, PyPI publication or maturity promotion beyond the linked +records. + +## Current additions and clarified routes + +- The active element-analysis registry is consolidated at + `32 QUALIFIED_BOUNDED`, `14 EXPERIMENTAL`, `0 NOT_QUALIFIED` across 46 + combinations. +- Connected conforming serial mixed TET4/WEDGE6/HEX8 static, modal, + translational-MPC and multi-material workflows have separate + `QUALIFIED_BOUNDED` records. +- Mixed Newmark and mixed harmonic workflows are separate + `EXPERIMENTAL_BOUNDED` linear dynamic records with documented serial scopes. +- A bounded Abaqus/CalculiX `.inp` subset is available as an experimental + fail-closed importer; it is not full format compatibility. +- Family-aware mixed HDF5 result storage is available as an opt-in experimental + schema-v1.0 route with bounded round-trip and selective-read evidence. +- Frictionless penalty node-to-triangle contact and HEX8-SRI remain separate + bounded experimental capabilities. +- The public API and installation surface now distinguish stable, provisional, + internal and optional-dependency boundaries explicitly. + +## Explicitly not included as a success claim + +WP13-01C did not validate the mixed distributed PETSc/MPI runtime. Its status +remains `NOT_VALIDATED`: physical force-balance and three-rank/partition gates +failed. The architecture foundation and partial two-rank observations do not +create a distributed mixed or general HPC claim. + +PYRAMID5, geometric nonlinear discovery and high-order mixed-interface +feasibility remain internal or research-only routes. General nonlinear +mechanics, frictional or finite-sliding contact, MPI mixed dynamics and +universal scalability are outside this candidate's public scope. + +## Where to look next + +- [Capability index](../capabilities/index.md) +- [V&V and maturity model](../verification/evidence-and-maturity.md) +- [Known limitations](../etat/limites.md) +- [Installation and optional extras](../getting-started/installation.md) +- [Historical 0.2.7 evidence](../verification/0_2_7/README.md) diff --git a/pyproject.toml b/pyproject.toml index c48538c5..b7507a7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta" [project] name = "qf-solver" -version = "0.2.7" +version = "0.2.8" description = "Open-source white-box Python finite element solver for structural mechanics, dynamics and verifiable engineering simulation." readme = "README.md" requires-python = ">=3.10" license = "Apache-2.0" -license-files = ["LICENSE", "NOTICE"] +license-files = ["LICENSE", "LICENSE-DOCS", "NOTICE", "THIRD_PARTY_LICENSES.md"] authors = [ { name = "Quentin Farinazzo" } ] @@ -24,7 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", ] -keywords = ["finite-element-method", "fem", "structural-mechanics", "nonlinear-fem", "scientific-computing", "qf-solver", "white-box-audit"] +keywords = ["finite-element-method", "fem", "structural-mechanics", "engineering-prototyping", "scientific-computing", "qf-solver", "white-box-audit"] dependencies = [ "numpy>=1.24", "scipy>=1.10", @@ -39,12 +39,16 @@ Documentation = "https://emptiesvoid-cloud.github.io/QF_solver/" Changelog = "https://github.com/emptiesvoid-cloud/QF_solver/blob/main/CHANGELOG.md" [project.optional-dependencies] +hdf5 = [ + "h5py>=3.10" +] test = [ "pytest>=8", "pytest-cov>=6.2", "tomli>=2.0; python_version < '3.11'", "h5py>=3.10", "psutil>=5.9", + "jsonschema>=4.26,<5", "PyYAML>=6.0" ] dev = [ @@ -54,6 +58,7 @@ dev = [ "coverage>=7.9", "psutil>=5.9", "h5py>=3.10", + "jsonschema>=4.26,<5", "ruff>=0.6", "mypy>=1.16", "hypothesis>=6.135", @@ -74,7 +79,9 @@ docs = [ "reportlab==4.4.9", "svglib==2.0.2", "pypdf==6.10.0", - "platformdirs==4.9.4" + "platformdirs==4.9.4", + "mkdocs>=1.6,<2", + "mkdocs-material>=9.5,<10" ] mesh = [ "gmsh==4.15.2" @@ -102,6 +109,17 @@ qualification = [ "qualification/technical_content_coverage.json" ] "qualification/0_2_7" = ["qualification/0_2_7/capability_registry_v2.json"] +"qualification/0_2_8" = [ + "qualification/0_2_8/consolidated_registry.json", + "qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json", + "qualification/0_2_8/wp13_02d_mixed_dynamics_delivery.json", + "qualification/0_2_8/wp13_03d_mixed_mpc_owner_delivery.json", + "qualification/0_2_8/wp13_04d_multimaterial_owner_delivery.json", + "qualification/0_2_8/wp13_05_inp_import_capability_record.json", + "qualification/0_2_8/wp13_05c_registry_reconciliation_erratum.json", + "qualification/0_2_8/wp13_06d_mixed_hdf5_capability_record.json", + "qualification/0_2_8/wp13_07d_contact_capability_record.json" +] requirements = ["requirements/baseline-standard.txt", "requirements/baseline-large-linux.txt"] [tool.pytest.ini_options] @@ -121,6 +139,25 @@ target-version = "py310" [tool.ruff.lint] select = ["E4", "E7", "E9", "F"] +# Gate-E-C2: these are immutable WP13 V&V campaign runners, not release +# library code, active release utilities, or public API modules. Their +# repository bootstrap imports and compact evidence-case construction are +# retained as frozen campaign provenance. The exclusions are intentionally +# explicit by path and rule; active production, test, release, and guard +# sources remain fully linted. +[tool.ruff.lint.per-file-ignores] +"scripts/run_wp13_01c_r1_ksp_remediation.py" = ["E402"] +"scripts/run_wp13_01c_r2_physical_residual_diagnostic.py" = ["E402"] +"scripts/run_wp13_01c_r3_physical_convergence.py" = ["E402"] +"scripts/run_wp13_01c_r4_native_physical_convergence.py" = ["E402"] +"scripts/run_wp13_01g_connected_mixed.py" = ["F401"] +"scripts/run_wp13_03b_v2_mpc_rbe2.py" = ["E402", "E702", "F401"] +"scripts/run_wp13_03b_v3_mpc_rbe2.py" = ["E402"] +"scripts/run_wp13_06_scalable_mixed_post.py" = ["E402", "F401"] +"scripts/run_wp13_07_contact_bounded.py" = ["F401"] +"scripts/run_wp13_07_contact_bounded_v2.py" = ["F401"] +"scripts/run_wp13_10_pyramid5_maturation.py" = ["F401"] + [tool.coverage.run] branch = true source = ["solveur"] diff --git a/qualification/0_2_8/consolidated_registry.json b/qualification/0_2_8/consolidated_registry.json new file mode 100644 index 00000000..1cf0b223 --- /dev/null +++ b/qualification/0_2_8/consolidated_registry.json @@ -0,0 +1,1333 @@ +{ + "applicable_version": "0.2.8-development", + "combination_registry": { + "not_qualified_combination": null, + "records": [ + { + "analysis": "linear_static", + "capability_id": "COMB-BEAM2-linear_static", + "element_family": "BEAM2", + "owner_decisions": [ + { + "limitations": [ + "Straight constant-section isotropic small-displacement static BEAM2 only; releases, offsets, plasticity, contact, large rotations and dynamics remain excluded." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 regression evidence", + "0.2.6 case registry: shell_beam_discrete", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other BEAM2 scopes remain governed by their own gates. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-BEAM2-modal", + "element_family": "BEAM2", + "owner_decisions": [ + { + "limitations": [ + "Straight slender fixed-root undamped first-two-mode cantilever scope only; thick-beam, damping, joints, offsets and multi-body response remain excluded." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 regression evidence", + "0.2.6 case registry: shell_beam_discrete", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other BEAM2 scopes remain governed by their own gates. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-BEAM2-newmark_transient", + "element_family": "BEAM2", + "owner_decisions": [ + { + "limitations": [ + "One-element axial UX-only undamped free vibration with the declared Newmark parameters only; no general transient BEAM2 claim." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 regression evidence", + "0.2.6 case registry: shell_beam_discrete", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other BEAM2 scopes remain governed by their own gates. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-BEAM2-harmonic", + "element_family": "BEAM2", + "owner_decisions": [ + { + "limitations": [ + "One-element axial damped SDOF response on the declared seven-point frequency grid only; no general BEAM2 FRF claim." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 regression evidence", + "0.2.6 case registry: shell_beam_discrete", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other BEAM2 scopes remain governed by their own gates. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-MITC3-linear_static", + "element_family": "MITC3", + "owner_decisions": [ + { + "limitations": [ + "Isotropic MITC3 linear static, small-displacement/small-rotation, executed patch, equilibrium, energy, orientation, permutation, thickness and locking scope only.", + "Cook, Scordelis and pinched values remain bounded reference trends; composite, nonlinear, contact and dynamic MITC3 remain excluded." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC3. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-MITC3-modal", + "element_family": "MITC3", + "owner_decisions": [ + { + "limitations": [ + "The inherited same-assembled-model evidence is not sufficient for route-level promotion." + ], + "owner_decision": "REJECT", + "promotion_applied": false, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": "independent executable shell modal oracle", + "resulting_maturity": "EXPERIMENTAL", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC3. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-MITC3-newmark_transient", + "element_family": "MITC3", + "owner_decisions": [ + { + "limitations": [ + "Temporal refinement alone is not accepted as an independent element/oracle qualification." + ], + "owner_decision": "REJECT", + "promotion_applied": false, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": "independent executable same-mesh transient shell oracle", + "resulting_maturity": "EXPERIMENTAL", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC3. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-MITC3-harmonic", + "element_family": "MITC3", + "owner_decisions": [ + { + "limitations": [ + "Internal harmonic evidence does not close the independent shell FRF requirement." + ], + "owner_decision": "REJECT", + "promotion_applied": false, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": "independent executable same-mesh shell FRF oracle", + "resulting_maturity": "EXPERIMENTAL", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC3. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-MITC4-linear_static", + "element_family": "MITC4", + "owner_decisions": [ + { + "limitations": [ + "Isotropic constant-thickness MITC4 linear static, small-displacement/small-rotation, executed mechanics, patch, equilibrium, drilling and reference-mesh scope only.", + "No variable thickness, composite, nonlinear, contact, buckling or large-rotation claim; Cook remains a bounded trend warning." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC4. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-MITC4-modal", + "element_family": "MITC4", + "owner_decisions": [ + { + "limitations": [ + "No tolerance relaxation or numerical-core change is authorized." + ], + "owner_decision": "REJECT", + "promotion_applied": false, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": "relative residual", + "resulting_maturity": "EXPERIMENTAL", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC4. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-MITC4-newmark_transient", + "element_family": "MITC4", + "owner_decisions": [ + { + "limitations": [ + "Verified one-mode, undamped free-vibration Newmark average-acceleration temporal scope with the declared 20/40/80 steps-per-period study only.", + "The spatial mode is from QF Solver; forced, nonlinear, broadband, composite and curved-dynamic claims remain excluded." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC4. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-MITC4-harmonic", + "element_family": "MITC4", + "owner_decisions": [ + { + "limitations": [ + "Verified first-mode, seven-frequency, mass-proportional damping FRF scope only.", + "Broadband coupling, thick-shell, composite, nonlinear and alternate damping-model claims remain excluded." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp04_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP04" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 READY shell modal/dynamic/harmonic cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; no comparable independent external deck is recorded for MITC4. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-TET4-linear_static", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-TET4-modal", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-TET4-newmark_transient", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-TET4-harmonic", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_buckling", + "capability_id": "COMB-TET4-linear_buckling", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "0.2.5 bounded Euler and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. No nonlinear collapse claim; 0.2.6 maturity extension is pending.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "nonlinear_load_control", + "capability_id": "COMB-TET4-nonlinear_load_control", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "0.2.5 nonlinear owner evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. Maturity extension and multi-family correlation are scheduled separately.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-TET10-linear_static", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-TET10-modal", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-TET10-newmark_transient", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-TET10-harmonic", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_buckling", + "capability_id": "COMB-TET10-linear_buckling", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "0.2.5 bounded Euler and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. No nonlinear collapse claim; 0.2.6 maturity extension is pending.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "nonlinear_load_control", + "capability_id": "COMB-TET10-nonlinear_load_control", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "0.2.5 nonlinear owner evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Maturity extension and multi-family correlation are scheduled separately.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-HEX8-linear_static", + "element_family": "HEX8", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-HEX8-modal", + "element_family": "HEX8", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-HEX8-newmark_transient", + "element_family": "HEX8", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-HEX8-harmonic", + "element_family": "HEX8", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_buckling", + "capability_id": "COMB-HEX8-linear_buckling", + "element_family": "HEX8", + "owner_decisions": [ + { + "limitations": [ + "EXPERIMENTAL does not mean QUALIFIED_BOUNDED, normal-use or production-ready.", + "No general Euler prediction or convergence claim is made; WP06/WP06B Euler and convergence FAIL records remain visible.", + "No certification, imperfections, nonlinear/post-buckling, plasticity, arbitrary-mesh, universal-accuracy, multi-mode or mixed-mesh claim.", + "No external correlation claim; current comparable Code_Aster/CalculiX evidence was unavailable.", + "HEX8R, SRI, B-bar and hourglass formulations are excluded." + ], + "owner_decision": "APPROVE_EXPERIMENTAL", + "promotion_applied": true, + "record": "qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json", + "resulting_maturity": "EXPERIMENTAL", + "scope": "HEX8 linear eigenvalue buckling; linear-elastic prestress; valid bounded cantilever geometries; explicitly tested clamped solid-block boundary condition; first positive mode; exploratory/research use only.", + "transition": "COMB-HEX8-linear_buckling: NOT_QUALIFIED -> EXPERIMENTAL", + "work_package": "WP11B" + } + ], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "NOT_QUALIFIED", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "0.2.5 bounded Euler and external evidence" + ], + "source_limitations": "G14 explicitly retains HEX8 buckling as more-evidence-required. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. No nonlinear collapse claim; 0.2.6 maturity extension is pending.", + "source_owner_decision": "INHERITED_G14_MORE_EVIDENCE_REQUIRED" + }, + { + "analysis": "nonlinear_load_control", + "capability_id": "COMB-HEX8-nonlinear_load_control", + "element_family": "HEX8", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "0.2.5 nonlinear owner evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Maturity extension and multi-family correlation are scheduled separately.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-HEX20-linear_static", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-HEX20-modal", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-HEX20-newmark_transient", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-HEX20-harmonic", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_buckling", + "capability_id": "COMB-HEX20-linear_buckling", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "0.2.5 bounded Euler and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. No nonlinear collapse claim; 0.2.6 maturity extension is pending.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "nonlinear_load_control", + "capability_id": "COMB-HEX20-nonlinear_load_control", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "0.2.5 nonlinear owner evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Maturity extension and multi-family correlation are scheduled separately.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "geometric_nonlinear_static", + "capability_id": "COMB-TET4-geometric_nonlinear_static", + "element_family": "TET4", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 owner evidence", + "0.2.6 G05-B TET4 cases", + "0.2.6 G05 final evidence", + "0.2.5 G02 bounded Total-Lagrangian evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 is PASS_WITH_LIMITATIONS; external coverage is bounded and other analysis scopes remain separately governed. Only bounded TET4/HEX8 Total-Lagrangian elasticity is qualified; high-order and finite-kinematic J2 remain non-qualified.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "geometric_nonlinear_static", + "capability_id": "COMB-TET10-geometric_nonlinear_static", + "element_family": "TET10", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 J2 bounded evidence", + "historical modal/dynamic tests", + "0.2.6 G05 final evidence", + "0.2.5 G02 bounded Total-Lagrangian evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Only bounded TET4/HEX8 Total-Lagrangian elasticity is qualified; high-order and finite-kinematic J2 remain non-qualified.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "geometric_nonlinear_static", + "capability_id": "COMB-HEX8-geometric_nonlinear_static", + "element_family": "HEX8", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 HEX8 evidence", + "0.2.6 G05 final evidence", + "0.2.5 G02 bounded Total-Lagrangian evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Only bounded TET4/HEX8 Total-Lagrangian elasticity is qualified; high-order and finite-kinematic J2 remain non-qualified.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "geometric_nonlinear_static", + "capability_id": "COMB-HEX20-geometric_nonlinear_static", + "element_family": "HEX20", + "owner_decisions": [], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.5 HEX20 evidence", + "0.2.6 G05 final evidence", + "0.2.5 G02 bounded Total-Lagrangian evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 internal quantitative and analytical evidence is present; comparable independent external deck remains pending. Only bounded TET4/HEX8 Total-Lagrangian elasticity is qualified; high-order and finite-kinematic J2 remain non-qualified.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-DISCRETE-linear_static", + "element_family": "DISCRETE", + "owner_decisions": [ + { + "limitations": [ + "Uncoupled translational linear ground springs and declared assembly invariant only; no rotational, oriented, nonlinear, gap or coupled claim." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 shell_beam_discrete planned cases", + "0.2.6 G05 final evidence", + "0.2.5 regression and external evidence" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other discrete scopes remain governed by their own gates. Family-specific requalification is scheduled in G04.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "modal", + "capability_id": "COMB-DISCRETE-modal", + "element_family": "DISCRETE", + "owner_decisions": [ + { + "limitations": [ + "Uncoupled translational spring-mass modes only; no rotational inertia, coupling, damping or transient claim." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 shell_beam_discrete planned cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other discrete scopes remain governed by their own gates. G05 is PASS_WITH_LIMITATIONS: modal evidence covers eight internal family rows, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "newmark_transient", + "capability_id": "COMB-DISCRETE-newmark_transient", + "element_family": "DISCRETE", + "owner_decisions": [ + { + "limitations": [ + "The gate and coarse time grid are retained unchanged. No promotion is authorized." + ], + "owner_decision": "REJECT", + "promotion_applied": false, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": "coarse.max_phase_error_rad", + "resulting_maturity": "EXPERIMENTAL", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "EXPERIMENTAL", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 shell_beam_discrete planned cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other discrete scopes remain governed by their own gates. G05 is PASS_WITH_LIMITATIONS: Newmark refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "harmonic", + "capability_id": "COMB-DISCRETE-harmonic", + "element_family": "DISCRETE", + "owner_decisions": [ + { + "limitations": [ + "Damped translational SDOF response on the declared seven-point frequency grid only; no general MDOF or alternate damping-model FRF claim." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp03_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": null, + "work_package": "WP03" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "0.2.6 shell_beam_discrete planned cases", + "0.2.6 G05 final evidence", + "g05_requirements.json", + "g05_deep_case_registry.json", + "0_2_6_g05_final_evidence.md" + ], + "source_limitations": "Combination state is inherited from aggregate 0.2.6 records; no new execution evidence is implied. G05 modal/dynamic/harmonic coverage is bounded; other discrete scopes remain governed by their own gates. G05 is PASS_WITH_LIMITATIONS: harmonic refinement and analytical evidence are complete, while external correlation remains bounded and family-incomplete.", + "source_owner_decision": "INHERITED_0_2_6_SCOPE" + }, + { + "analysis": "linear_static", + "capability_id": "COMB-WEDGE6-linear_static", + "element_family": "WEDGE6", + "owner_decisions": [ + { + "limitations": [ + "No modal, Newmark or harmonic promotion is implied.", + "No nonlinear, J2, Total-Lagrangian, contact, WEDGE15, mixed-mesh or unbounded arbitrary-distortion claim is made.", + "Automatic orientation repair is not claimed; coincident, nonfinite, inverted, wrong-order and negative-Jacobian geometry must fail explicitly.", + "The external correlation claim is limited to the recorded Code_Aster PENTA6 primary observables and declared tolerance classes." + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "record": "qualification/0_2_8/wp05_owner_gate_final.json", + "rejected_gate": null, + "resulting_maturity": "QUALIFIED_BOUNDED", + "scope": "Gmsh Prism 6 WEDGE6, homogeneous isotropic small-strain linear elasticity, linear static analysis, declared nodal/body/gravity/TRI3-pressure/QUAD4-pressure/surface-traction loads, conforming prism assemblies, declared valid distortions and explicit failure of invalid geometry, with displacement, Gauss-point strain/stress, energy, reactions and global equilibrium checks.", + "work_package": "WP05" + } + ], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "EXPERIMENTAL", + "source_evidence_refs": [ + "qualification/0_2_7/wp07_state.json", + "docs/verification/0_2_7/0_2_7_wedge6_kernel.md", + "qualification/0_2_7/wp08_state.json", + "qualification/0_2_7/vnv_v2/wp08_cases.json", + "qualification/0_2_7/vnv_v2/wp08_evidence.json", + "tests/integration/test_wedge6_static_workflow.py", + "docs/verification/0_2_7/0_2_7_wedge6_static_vertical_slice.md" + ], + "source_limitations": "WP08 validates the bounded Gmsh Prism 6 static workflow, declared TRI3/QUAD4 face loads, reactions/equilibrium and Gauss-point post-processing; WEDGE6 remains EXPERIMENTAL and public qualification, robustness, modal/dynamic routes, nonlinear routes and external correlation remain deferred.", + "source_owner_decision": "WP08_STATIC_VERTICAL_SLICE_EXPERIMENTAL" + }, + { + "analysis": "modal", + "capability_id": "COMB-WEDGE6-modal", + "element_family": "WEDGE6", + "owner_decisions": [], + "qualification_state": "QUALIFIED_BOUNDED", + "source_0_2_7_qualification_state": "QUALIFIED_BOUNDED", + "source_evidence_refs": [ + "qualification/0_2_7/wp10_final_state.json", + "qualification/0_2_7/vnv_v2/wp10_final_cases.json", + "qualification/0_2_7/vnv_v2/wp10_final_evidence.json", + "docs/verification/0_2_7/0_2_7_wedge6_modal.md", + "src/solveur/verification/modal_comparison.py", + "tests/unit/test_wp10_final_modal.py", + "tests/unit/test_wp10_wedge6_modal.py" + ], + "source_limitations": "WP10 qualifies only the homogeneous isotropic small-strain WEDGE6 consistent-mass modal route within the declared four-level first-three-mode refinement and four same-mesh Code_Aster PENTA6 comparisons. Modes four to six remain diagnostic for refinement; static evidence is not transferred automatically, and Newmark, harmonic, nonlinear, J2, TL and contact routes remain outside this record.", + "source_owner_decision": "OWNER_APPROVED_BOUNDED_FIRST_THREE_MODES" + } + ], + "state_counts": { + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 0, + "QUALIFIED_BOUNDED": 32 + }, + "total": 46 + }, + "internal_research_kernels": [ + { + "element_family": "PYRAMID5", + "public_registered": false, + "reason": "bounded internal feasibility only; public dispatch remains fail-closed", + "record": "qualification/0_2_8/wp09_pyramid5_matrix.json", + "status": "FEASIBLE_CONTINUE" + } + ], + "owner_records_preserved": [ + "qualification/0_2_8/wp03_owner_gate_final.json", + "qualification/0_2_8/wp04_owner_gate_final.json", + "qualification/0_2_8/wp05_owner_gate_final.json", + "qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json", + "qualification/0_2_8/wp13_03d_mixed_mpc_owner_delivery.json" + ], + "registry_id": "QF-028-CONSOLIDATED-CAPABILITY-REGISTRY", + "schema_version": 1, + "separate_workflows": [ + { + "id": "MIXED-TET4-WEDGE6-HEX8-linear_static", + "limitations": [ + "The affine manufactured solution with equivalent K*u loads is sufficient for the declared assembly/interface/load consistency contract, but is not an independent general mechanical benchmark.", + "The refinement sequence demonstrates affine consistency only; it is not a general accuracy-convergence claim.", + "No external Code_Aster/CalculiX mixed-family correlation is claimed.", + "No modal, Newmark, harmonic, nonlinear, contact, hanging-node, MPC, nonconforming-interface, TET10/HEX20, PYRAMID5 or large-model claim is made." + ], + "owner_record": "qualification/0_2_8/wp07_owner_gate_final.json", + "record_kind": "mixed_workflow_qualification", + "scope": "linear_static only; TET4, WEDGE6 and HEX8; conforming shared-node triangular and quadrilateral interfaces; small-strain homogeneous isotropic elasticity; valid element geometries; and the nodal, body-force, pressure and surface-traction routes actually exercised by WP07.", + "status": "QUALIFIED_BOUNDED" + }, + { + "id": "MIXED-TET4-WEDGE6-HEX8-modal", + "limitations": [ + "The result is a bounded workflow qualification for the tested fixed-base chain, not a universal mixed-modal or all-frequency claim.", + "The WP08B contract uses shape-function field prolongation with no extrapolation and a fine consistent-mass inner product; the original WP08 shared-node MAC gate of 0.5 remains unchanged and its 0.1028 failure remains historical evidence.", + "The independent dense local-matrix scatter/eigensolve plus analytical mass conservation is sufficient for the declared assembly scope; no external industrial-solver correlation is claimed.", + "No modal stress, lumped/concentrated mass, Newmark, harmonic, nonlinear, contact, nonconforming/hanging-node/MPC/RBE interface, TET10/HEX20, PYRAMID5, large-model performance or universal all-frequency claim is made." + ], + "owner_record": "qualification/0_2_8/wp08b_owner_gate_final.json", + "record_kind": "mixed_workflow_qualification", + "scope": "modal linear only; fixed x=0 base; conforming shared-node triangular and quadrilateral interfaces; TET4, WEDGE6 and HEX8; small-strain homogeneous isotropic elasticity; consistent translational finite-element mass; first six positive modes; refinement levels 1, 2, 4 and 8; and valid geometries in the already qualified elementary domains.", + "status": "QUALIFIED_BOUNDED" + }, + { + "evidence_record": "qualification/0_2_8/wp09_pyramid5_vnv.json", + "id": "PYRAMID5-feasibility", + "limitations": [ + "The collapsed-coordinate Jacobian and derivatives are singular at the apex, which is never a derivative or quadrature point.", + "No coherent conforming PYRAMID5 h-refinement, convergence claim or external-solver correlation exists in WP09.", + "PYRAMID5 remains absent from the public compatibility descriptor and 0.2.7 capability registry; public solve dispatch remains fail-closed.", + "No modal, Newmark, harmonic, nonlinear, contact, SRI, stabilization, hourglass-control, nonconforming, hanging-node, MPC/RBE, PYRAMID13 or general transition-mesh claim is made.", + "The separate WP07/WP08 mixed-workflow records are unchanged." + ], + "owner_record": null, + "record_kind": "internal_feasibility_kernel", + "scope": "Internal linear-static feasibility kernel only: homogeneous isotropic small-strain elasticity; convex planar QUAD4 base; non-coplanar apex; positive sampled Jacobians; nodal/body/gravity/pressure/surface-traction loads; and the tested conforming HEX8/PYRAMID5/TET4 patch.", + "status": "FEASIBLE_CONTINUE" + }, + { + "id": "HEX8-SRI-linear_static", + "limitations": [ + "No production-use claim.", + "No universal incompressibility or universal locking-cure claim.", + "No general affine patch-force qualification.", + "No arbitrary-distortion, nonlinear, dynamic, contact, HEX8R or hourglass-control scope.", + "No external correlation claim." + ], + "owner_record": "qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json", + "record_kind": "separate_experimental_capability", + "scope": "HEX8-SRI; linear static only; isotropic small-strain elasticity; structured bending cases in the executed domain; documented locking reduction only.", + "status": "EXPERIMENTAL_BOUNDED" + }, + { + "id": "MIXED-TET4-WEDGE6-HEX8-large-linear_static", + "limitations": [ + "The mandatory evidence is a repeated conforming-chain scale model, not an arbitrary connected industrial mesh.", + "Runtime and memory are environment records, not universal thresholds.", + "No accuracy, production, precision, modal, dynamic, nonlinear or universal scalability claim.", + "No PYRAMID5 or HEX8-SRI appears in this large model.", + "No external correlation is claimed." + ], + "owner_record": "qualification/0_2_8/wp11_mixed_large_matrix.json", + "record_kind": "bounded_performance_evidence", + "scope": { + "components": 9091, + "conforming_interfaces": { + "quadrilateral_wedge6_hex8": 9091, + "triangular_tet4_wedge6": 9091 + }, + "dof": 300003, + "elements": 27273, + "elements_by_family": { + "HEX8": 9091, + "TET4": 9091, + "WEDGE6": 9091 + }, + "load": "unit total Z load per repeated chain; x=0 DOFs fixed", + "nodes": 100001 + }, + "status": "PASS_WITH_BOUNDED_EVIDENCE" + }, + { + "id": "HEX8-linear_buckling-experimental", + "limitations": [ + "EXPERIMENTAL does not mean QUALIFIED_BOUNDED, normal-use or production-ready.", + "No general Euler prediction or convergence claim is made; WP06/WP06B Euler and convergence FAIL records remain visible.", + "No certification, imperfections, nonlinear/post-buckling, plasticity, arbitrary-mesh, universal-accuracy, multi-mode or mixed-mesh claim.", + "No external correlation claim; current comparable Code_Aster/CalculiX evidence was unavailable.", + "HEX8R, SRI, B-bar and hourglass formulations are excluded." + ], + "owner_record": "qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json", + "record_kind": "experimental_capability", + "scope": "HEX8 linear eigenvalue buckling; linear-elastic prestress; valid bounded cantilever geometries; explicitly tested clamped solid-block boundary condition; first positive mode; exploratory/research use only.", + "status": "EXPERIMENTAL" + }, + { + "evidence_references": { + "owner_gate": { + "source": "WP13-03C Owner Gate audited at 5e48f259d1adbed42c1f0ec3851b14bb35df0c0a", + "status": "APPROVE_WITH_LIMITATIONS" + }, + "v1": { + "contract_id": "WP13-03-MIXED-MPC-RBE2-001", + "contract_status": "BLOCKED_INVALID_TET4_ORIENTATION", + "path": "qualification/0_2_8/wp13_03a_mixed_mpc_rbe2_contract.json", + "sha256": "9ef7113c45a0bf285d532bd64cbfe22193edaee333bb3cb698e54d40c0785e06", + "status": "preserved" + }, + "v2": { + "contract_id": "WP13-03-MIXED-MPC-RBE2-002", + "contract_status": "FAIL_ENERGY", + "path": "qualification/0_2_8/wp13_03a_mixed_mpc_rbe2_contract_v2.json", + "sha256": "10ff2f0708c4f579c7a032036d981f616e8970f04ee000ed86b9146d3ca903d7", + "status": "preserved" + }, + "v3": { + "contract_id": "WP13-03-MIXED-MPC-RBE2-003", + "contract_path": "qualification/0_2_8/wp13_03b_v3_mpc_rbe2_contract.json", + "contract_sha256": "0d43ef67274ef7675cc643e722b4647da9d66c774f46339c23135ac8d514d44a", + "evidence_path": "qualification/0_2_8/wp13_03b_v3_mpc_rbe2_runtime/wp13_03b_v3_evidence.json", + "evidence_sha256": "811149532f5bd1561a72455104ccb40f2d5a2435adafe092d50bcb1965e4b7e9", + "raw_npz_path": "qualification/0_2_8/wp13_03b_v3_mpc_rbe2_runtime/wp13_03b_v3_raw.npz", + "raw_npz_sha256": "22bcc6ecfbb0d53681cc0368767793a6dfe2370ca55d57d277f32baeaceb0cef", + "status": "successful_prospective_campaign" + } + }, + "id": "MIXED-TET4-WEDGE6-HEX8-linear_static_translational_mpc", + "limitations": [ + "linear static only", + "connected conforming TET4/WEDGE6/HEX8", + "translational MPC only", + "homogeneous constraints", + "zero affine offset", + "no rotational RBE2", + "no true rigid-body claim", + "no RBE3", + "no modal MPC", + "no Newmark MPC", + "no harmonic MPC", + "no nonlinear MPC", + "no contact coupling", + "no nonconforming interfaces", + "no arbitrary MPC claim", + "no universal claim" + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "owner_record": "qualification/0_2_8/wp13_03d_mixed_mpc_owner_delivery.json", + "public_wording": "Connected conforming TET4/WEDGE6/HEX8 mixed linear-static workflow validated with translational linear MPC constraints generated from the frozen RBE2-definition benchmark.", + "record_kind": "mixed_workflow_qualification", + "scope": "Connected conforming TET4/WEDGE6/HEX8 linear-static workflow with homogeneous zero-offset translational linear MPC constraints generated from the frozen RBE2-definition benchmark.", + "status": "QUALIFIED_BOUNDED", + "workflow": "mixed_linear_static_translational_mpc" + }, + { + "evidence_references": { + "owner_gate": { + "source": "WP13-04C Owner Gate audited at e52a116df1f4f5d458bbf71915f94296551c213a", + "status": "APPROVE_WITH_LIMITATIONS" + }, + "contract": { + "contract_id": "WP13-04-MIXED-MULTIMATERIAL-001", + "path": "qualification/0_2_8/wp13_04_multimaterial_contract.json", + "sha256": "6bcea1571ba794a3069d8f2d28a49ead2f451b39082a186b54b481d7bab053dc" + }, + "campaign": { + "evidence_path": "qualification/0_2_8/wp13_04_multimaterial_runtime_final/wp13_04_multimaterial_evidence.json", + "report_path": "qualification/0_2_8/wp13_04_multimaterial_runtime_final/wp13_04_multimaterial_report.json", + "raw_npz_path": "qualification/0_2_8/wp13_04_multimaterial_runtime_final/wp13_04_multimaterial_arrays.npz" + } + }, + "id": "MIXED-TET4-WEDGE6-HEX8-linear_static_multimaterial", + "limitations": [ + "linear static only", + "connected conforming TET4/WEDGE6/HEX8", + "isotropic linear-elastic materials only", + "multiple material regions", + "perfectly bonded shared-node interfaces", + "tested Gmsh region-to-material mapping", + "tested bounded material contrasts only", + "no nonlinear materials", + "no plasticity", + "no anisotropy", + "no contact", + "no nonconforming interfaces", + "no modal", + "no Newmark", + "no harmonic", + "no arbitrary material contrasts", + "no arbitrary meshes", + "no general convergence claim", + "no universal claim" + ], + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "owner_record": "qualification/0_2_8/wp13_04d_multimaterial_owner_delivery.json", + "public_wording": "Connected conforming TET4/WEDGE6/HEX8 linear-static workflow with multiple isotropic linear-elastic material regions and perfectly bonded shared-node interfaces within the documented scope.", + "record_kind": "mixed_workflow_qualification", + "refinement_status": "CHARACTERIZATION_ONLY", + "scope": "Connected conforming TET4/WEDGE6/HEX8 linear-static models with multiple isotropic linear-elastic material regions and perfectly bonded shared-node interfaces within the documented scope.", + "status": "QUALIFIED_BOUNDED", + "workflow": "mixed_linear_static_multimaterial" + }, + { + "delivery_record": "qualification/0_2_8/wp13_02d_mixed_dynamics_delivery.json", + "evidence_references": { + "manifest": "qualification/0_2_8/wp13_02_mixed_dynamics_vnv/final/manifest.json", + "raw_npz": "qualification/0_2_8/wp13_02_mixed_dynamics_vnv/final/wp13_02_mixed_dynamics_arrays.npz", + "archive_sha256": "141016b969838350bb0099fe0af7f861265cfd58065b632be9d434489d692c48", + "raw_arrays": 119, + "semantic_digest": "7ab0dc50a9ef1872f26d0a0dd16935faa57e4728d76858aa88b998307f0b2d38", + "failure_cases": "10/10 PASS", + "replays": "Newmark 2/2 PASS" + }, + "id": "MIXED-TET4-WEDGE6-HEX8-NEWMARK-LINEAR", + "limitations": [ + "serial only", + "linear only", + "TET4/WEDGE6/HEX8 only", + "documented Rayleigh damping only", + "gamma=0.5 beta=0.25 tested scope", + "T1/160 only as acceptance", + "T1/40 and T1/80 remain characterization", + "no universal timestep convergence", + "no arbitrary damping", + "no nonlinear dynamics", + "no contact dynamics", + "no impact", + "no MPI/distributed dynamics" + ], + "owner_decision": "APPROVE_EXPERIMENTAL_BOUNDED", + "owner_gate_source": "WP13-02C Owner Gate audited at bd8bec5f942ddaf4d5b60823f721ad7599e50ebf", + "public_wording": "Experimental bounded mixed TET4/WEDGE6/HEX8 Newmark linear dynamics within the documented timestep, damping, loading and model scope.", + "record_kind": "mixed_workflow_capability", + "scope": "connected serial TET4/WEDGE6/HEX8; linear dynamics; Newmark gamma=0.5 beta=0.25; documented Rayleigh mass-proportional damping; documented half-sine load; T1/160 acceptance scope", + "status": "EXPERIMENTAL_BOUNDED", + "contract": { + "id": "WP13-02-MIXED-DYNAMICS-001", + "sha256": "27705f5218a5adc5c929ef26794a2d6ded9024aff8f7d6f52b0601525f8d1f1f", + "path": "qualification/0_2_8/wp13_02_mixed_dynamics_contract.json" + }, + "workflow": "mixed_tet4_wedge6_hex8_newmark_linear" + }, + { + "delivery_record": "qualification/0_2_8/wp13_02d_mixed_dynamics_delivery.json", + "evidence_references": { + "manifest": "qualification/0_2_8/wp13_02_mixed_dynamics_vnv/final/manifest.json", + "raw_npz": "qualification/0_2_8/wp13_02_mixed_dynamics_vnv/final/wp13_02_mixed_dynamics_arrays.npz", + "archive_sha256": "141016b969838350bb0099fe0af7f861265cfd58065b632be9d434489d692c48", + "raw_arrays": 119, + "semantic_digest": "7ab0dc50a9ef1872f26d0a0dd16935faa57e4728d76858aa88b998307f0b2d38", + "failure_cases": "10/10 PASS", + "replays": "Harmonic 2/2 PASS" + }, + "id": "MIXED-TET4-WEDGE6-HEX8-HARMONIC-LINEAR", + "limitations": [ + "serial only", + "linear only", + "TET4/WEDGE6/HEX8 only", + "documented damping only", + "frozen tested sweep only", + "no arbitrary frequency range claim", + "no universal resonance prediction", + "no nonlinear response", + "no contact", + "no MPI", + "no modal-reduction claim" + ], + "owner_decision": "APPROVE_EXPERIMENTAL_BOUNDED", + "owner_gate_source": "WP13-02C Owner Gate audited at bd8bec5f942ddaf4d5b60823f721ad7599e50ebf", + "public_wording": "Experimental bounded mixed TET4/WEDGE6/HEX8 harmonic linear response within the documented frequency, damping, loading and model scope.", + "record_kind": "mixed_workflow_capability", + "scope": "connected serial TET4/WEDGE6/HEX8; linear harmonic response; documented Rayleigh damping; frozen 12-frequency sweep from 0 to 2*f1; documented load/support/model scope", + "status": "EXPERIMENTAL_BOUNDED", + "contract": { + "id": "WP13-02-MIXED-DYNAMICS-001", + "sha256": "27705f5218a5adc5c929ef26794a2d6ded9024aff8f7d6f52b0601525f8d1f1f", + "path": "qualification/0_2_8/wp13_02_mixed_dynamics_contract.json" + }, + "workflow": "mixed_tet4_wedge6_hex8_harmonic_linear" + } + ], + "source_registry": "qualification/0_2_7/capability_registry_v2.json", + "source_registry_sha256": "cea5cbc24f6c28b22903d7cbfe76aab83ae654e7029d5604f07937fb7f5d1b48", + "source_registry_state": { + "EXPERIMENTAL": 25, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 20, + "TOTAL": 46 + } +} diff --git a/qualification/0_2_8/wp01_maturity_matrix.json b/qualification/0_2_8/wp01_maturity_matrix.json new file mode 100644 index 00000000..f440ce22 --- /dev/null +++ b/qualification/0_2_8/wp01_maturity_matrix.json @@ -0,0 +1,103 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP01-MATURITY-MATRIX", + "work_package": "WP01", + "applicable_version": "0.2.8-development", + "status": "BASELINE_AUDIT_COMPLETE", + "baseline": { + "main_sha": "9a0d2ab8e8fc3509f0f7ea53bb93db0bd7d99ca5", + "release_reference": "v0.2.7", + "source_registry": "qualification/0_2_7/capability_registry_v2.json", + "source_registry_sha256": "cea5cbc24f6c28b22903d7cbfe76aab83ae654e7029d5604f07937fb7f5d1b48", + "source_registry_role": "Read-only source of the 0.2.7 qualification state; this WP01 record never rewrites it." + }, + "policy": { + "allowed_dispositions": [ + "KEEP_QUALIFIED", + "PROMOTABLE_WITH_EXISTING_EVIDENCE", + "NEEDS_MINOR_VNV", + "NEEDS_MAJOR_VNV", + "KEEP_EXPERIMENTAL", + "NOT_QUALIFIED_TO_CLOSE" + ], + "promotion_rule": "A disposition is planning only. A qualification-state change requires a predeclared scoped case, reproducible evidence, declared tolerance, independent-oracle comparability where required, and an explicit Owner decision.", + "tolerance_rule": "A numeric observable, tolerance and provenance must be frozen before execution. Case-dependent tolerances are allowed only when justified by mesh, formulation and oracle; post-result retuning is forbidden." + }, + "summary": { + "combination_total": 46, + "KEEP_QUALIFIED": 20, + "PROMOTABLE_WITH_EXISTING_EVIDENCE": 0, + "NEEDS_MINOR_VNV": 9, + "NEEDS_MAJOR_VNV": 8, + "KEEP_EXPERIMENTAL": 8, + "NOT_QUALIFIED_TO_CLOSE": 1 + }, + "combinations": [ + {"source_record": "COMB-BEAM2-linear_static", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-BEAM2-STATIC"}, + {"source_record": "COMB-BEAM2-modal", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-BEAM2-MODAL"}, + {"source_record": "COMB-BEAM2-newmark_transient", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-BEAM2-NEWMARK"}, + {"source_record": "COMB-BEAM2-harmonic", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-BEAM2-HARMONIC"}, + {"source_record": "COMB-DISCRETE-linear_static", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-DISCRETE-STATIC"}, + {"source_record": "COMB-DISCRETE-modal", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-DISCRETE-MODAL"}, + {"source_record": "COMB-DISCRETE-newmark_transient", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-DISCRETE-NEWMARK"}, + {"source_record": "COMB-DISCRETE-harmonic", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-DISCRETE-HARMONIC"}, + {"source_record": "COMB-MITC3-linear_static", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-MITC3-STATIC"}, + {"source_record": "COMB-MITC3-modal", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-MITC3-MODAL"}, + {"source_record": "COMB-MITC3-newmark_transient", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-MITC3-NEWMARK"}, + {"source_record": "COMB-MITC3-harmonic", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-MITC3-HARMONIC"}, + {"source_record": "COMB-MITC4-linear_static", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-MITC4-STATIC"}, + {"source_record": "COMB-MITC4-modal", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-MITC4-MODAL"}, + {"source_record": "COMB-MITC4-newmark_transient", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-MITC4-NEWMARK"}, + {"source_record": "COMB-MITC4-harmonic", "disposition": "NEEDS_MINOR_VNV", "candidate_plan": "CAND-MITC4-HARMONIC"}, + {"source_record": "COMB-TET4-linear_static", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET4-modal", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET4-newmark_transient", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET4-harmonic", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET4-linear_buckling", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET4-nonlinear_load_control", "disposition": "KEEP_EXPERIMENTAL", "rationale": "General nonlinear scope remains deliberately excluded from 0.2.8 promotion."}, + {"source_record": "COMB-TET4-geometric_nonlinear_static", "disposition": "KEEP_EXPERIMENTAL", "rationale": "Bounded Total-Lagrangian evidence does not create a general nonlinear claim."}, + {"source_record": "COMB-TET10-linear_static", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET10-modal", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET10-newmark_transient", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET10-harmonic", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET10-linear_buckling", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-TET10-nonlinear_load_control", "disposition": "KEEP_EXPERIMENTAL", "rationale": "General nonlinear scope remains deliberately excluded from 0.2.8 promotion."}, + {"source_record": "COMB-TET10-geometric_nonlinear_static", "disposition": "KEEP_EXPERIMENTAL", "rationale": "High-order geometric nonlinearity has no 0.2.8 promotion scope."}, + {"source_record": "COMB-HEX8-linear_static", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX8-modal", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX8-newmark_transient", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX8-harmonic", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX8-linear_buckling", "disposition": "NOT_QUALIFIED_TO_CLOSE", "candidate_plan": "CAND-HEX8-BUCKLING"}, + {"source_record": "COMB-HEX8-nonlinear_load_control", "disposition": "KEEP_EXPERIMENTAL", "rationale": "No generalized nonlinear promotion is in the 0.2.8 scope."}, + {"source_record": "COMB-HEX8-geometric_nonlinear_static", "disposition": "KEEP_EXPERIMENTAL", "rationale": "Bounded Total-Lagrangian elasticity does not establish the excluded nonlinear scope."}, + {"source_record": "COMB-HEX20-linear_static", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX20-modal", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX20-newmark_transient", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX20-harmonic", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX20-linear_buckling", "disposition": "KEEP_QUALIFIED"}, + {"source_record": "COMB-HEX20-nonlinear_load_control", "disposition": "KEEP_EXPERIMENTAL", "rationale": "No generalized nonlinear promotion is in the 0.2.8 scope."}, + {"source_record": "COMB-HEX20-geometric_nonlinear_static", "disposition": "KEEP_EXPERIMENTAL", "rationale": "High-order geometric nonlinearity has no 0.2.8 promotion scope."}, + {"source_record": "COMB-WEDGE6-linear_static", "disposition": "NEEDS_MAJOR_VNV", "candidate_plan": "CAND-WEDGE6-STATIC"}, + {"source_record": "COMB-WEDGE6-modal", "disposition": "KEEP_QUALIFIED"} + ], + "candidate_requirements": [ + {"id": "CAND-BEAM2-STATIC", "proof_missing": "One frozen 0.2.8 replay manifest and an Owner decision for the bounded static route.", "tests_to_add": ["tests/verification/test_028_beam2_static_vnv.py"], "oracle": "Existing comparable Code_Aster beam static deck, with geometry/material/BC/load and observable mapping revalidated.", "tolerance": "Predeclare normalized displacement, resultant reaction and strain-energy tolerances in the case manifest; no post-result retuning.", "exit_gate": "Two reproducible replays, all predeclared observables pass, evidence digest and explicit Owner decision.", "risk": "LOW"}, + {"id": "CAND-BEAM2-MODAL", "proof_missing": "Frozen mode pairing and Owner approval for the selected first modes.", "tests_to_add": ["tests/verification/test_028_beam2_modal_vnv.py"], "oracle": "Existing Code_Aster modal reference or analytical beam reference with declared mode mapping.", "tolerance": "Predeclare frequency-relative-error, MAC and eigen-residual limits before execution.", "exit_gate": "Two replays, deterministic mode pairing and an Owner decision for the declared mode count.", "risk": "MEDIUM"}, + {"id": "CAND-BEAM2-NEWMARK", "proof_missing": "Comparable time-history oracle with identical damping, time integration and sampled observables.", "tests_to_add": ["tests/verification/test_028_beam2_newmark_vnv.py"], "oracle": "Code_Aster transient beam deck; analytical reference only for a declared linear subcase.", "tolerance": "Predeclare normalized time-history and energy/invariant limits before execution.", "exit_gate": "Full time-history correlation, two replays and Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-BEAM2-HARMONIC", "proof_missing": "Comparable frequency-response deck and a declared modal/damping convention.", "tests_to_add": ["tests/verification/test_028_beam2_harmonic_vnv.py"], "oracle": "Code_Aster harmonic beam deck with identical excitation and damping.", "tolerance": "Predeclare frequency-grid, peak-location and normalized-response limits before execution.", "exit_gate": "Reproducible FRF correlation plus Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-DISCRETE-STATIC", "proof_missing": "Frozen spring/discrete mapping, replay manifest and Owner decision.", "tests_to_add": ["tests/verification/test_028_discrete_static_vnv.py"], "oracle": "Existing Code_Aster discrete-element mapping or analytic spring system.", "tolerance": "Predeclare displacement and resultant-reaction limits before execution.", "exit_gate": "Two replays, complete mapping and Owner decision for one bounded route.", "risk": "LOW"}, + {"id": "CAND-DISCRETE-MODAL", "proof_missing": "Mode-pairing record and a bounded mass/stiffness oracle.", "tests_to_add": ["tests/verification/test_028_discrete_modal_vnv.py"], "oracle": "Analytic spring-mass system, optionally checked against the existing external deck.", "tolerance": "Predeclare frequency-relative-error and eigen-residual limits before execution.", "exit_gate": "Two replays and Owner decision for the declared mode set.", "risk": "MEDIUM"}, + {"id": "CAND-DISCRETE-NEWMARK", "proof_missing": "Comparable transient response with declared damping and time grid.", "tests_to_add": ["tests/verification/test_028_discrete_newmark_vnv.py"], "oracle": "Analytic SDOF/MDOF response or equivalent Code_Aster deck.", "tolerance": "Predeclare response-history and energy limits before execution.", "exit_gate": "Full history replay/correlation and Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-DISCRETE-HARMONIC", "proof_missing": "Frequency-response correlation with an identical excitation convention.", "tests_to_add": ["tests/verification/test_028_discrete_harmonic_vnv.py"], "oracle": "Analytic linear oscillator response or equivalent Code_Aster deck.", "tolerance": "Predeclare frequency-grid and normalized-amplitude limits before execution.", "exit_gate": "Reproducible FRF correlation and Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-MITC3-STATIC", "proof_missing": "A frozen 0.2.8 static replay tying the existing regression and external evidence to one bounded claim.", "tests_to_add": ["tests/verification/test_028_mitc3_static_vnv.py"], "oracle": "Existing comparable Code_Aster/CalculiX MITC3 static deck with orientation and observable mapping checked.", "tolerance": "Predeclare displacement, reaction and energy/convergence limits before execution.", "exit_gate": "Two replays, comparable oracle output and Owner decision for the declared shell/material scope.", "risk": "MEDIUM"}, + {"id": "CAND-MITC3-MODAL", "proof_missing": "A comparable independent modal deck; the inherited record explicitly says none is recorded.", "tests_to_add": ["tests/verification/test_028_mitc3_modal_vnv.py"], "oracle": "New same-mesh Code_Aster or CalculiX shell modal deck with declared mode mapping.", "tolerance": "Predeclare frequency-relative-error, MAC and eigen-residual limits before execution.", "exit_gate": "External correlation, two replays and Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-MITC3-NEWMARK", "proof_missing": "Comparable transient deck with controlled temporal refinement and declared damping.", "tests_to_add": ["tests/verification/test_028_mitc3_newmark_vnv.py"], "oracle": "New Code_Aster transient shell deck with matching shell orientation and output convention.", "tolerance": "Predeclare sampled-history, temporal-refinement and invariant limits before execution.", "exit_gate": "External correlation, two replays and Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-MITC3-HARMONIC", "proof_missing": "Comparable frequency-response deck and damping convention.", "tests_to_add": ["tests/verification/test_028_mitc3_harmonic_vnv.py"], "oracle": "New Code_Aster harmonic shell deck with matching modal basis and damping.", "tolerance": "Predeclare frequency-grid, peak and normalized-response limits before execution.", "exit_gate": "External correlation, two replays and Owner decision; otherwise remain experimental.", "risk": "HIGH"}, + {"id": "CAND-MITC4-STATIC", "proof_missing": "One frozen 0.2.8 replay and explicit Owner decision; existing static V&V is inherited rather than a 0.2.8 decision.", "tests_to_add": ["tests/verification/test_028_mitc4_static_vnv.py"], "oracle": "Existing comparable MITC4 Code_Aster/CalculiX static evidence with mapping reconfirmed.", "tolerance": "Predeclare displacement, reaction and convergence limits before execution.", "exit_gate": "Two replays and Owner decision for the bounded static scope.", "risk": "LOW"}, + {"id": "CAND-MITC4-MODAL", "proof_missing": "Frozen 0.2.8 mode-pairing/replay record and Owner decision.", "tests_to_add": ["tests/verification/test_028_mitc4_modal_vnv.py"], "oracle": "Existing MITC4 Code_Aster modal evidence with same-mesh mode mapping.", "tolerance": "Predeclare frequency-relative-error, MAC and eigen-residual limits before execution.", "exit_gate": "Two replays, declared modes pass and Owner decision.", "risk": "LOW"}, + {"id": "CAND-MITC4-NEWMARK", "proof_missing": "Frozen 0.2.8 replay linked to the existing bounded transient evidence and Owner decision.", "tests_to_add": ["tests/verification/test_028_mitc4_newmark_vnv.py"], "oracle": "Existing MITC4 Code_Aster transient evidence with matching time-integration convention.", "tolerance": "Predeclare history, temporal-refinement and invariant limits before execution.", "exit_gate": "Two replays and Owner decision for the declared transient scope.", "risk": "MEDIUM"}, + {"id": "CAND-MITC4-HARMONIC", "proof_missing": "Frozen 0.2.8 frequency-response replay and Owner decision.", "tests_to_add": ["tests/verification/test_028_mitc4_harmonic_vnv.py"], "oracle": "Existing MITC4 harmonic evidence with matching damping and frequency grid.", "tolerance": "Predeclare frequency-grid, peak and normalized-response limits before execution.", "exit_gate": "Two replays and Owner decision for the declared harmonic scope.", "risk": "MEDIUM"}, + {"id": "CAND-WEDGE6-STATIC", "proof_missing": "The existing Owner decision explicitly keeps static WEDGE6 experimental; an expanded independent static campaign is required.", "tests_to_add": ["tests/verification/test_028_wedge6_static_campaign.py"], "oracle": "Pinned Code_Aster PENTA6 same-mesh deck; CalculiX C3D6 remains NOT_COMPARABLE unless comparability is established before execution.", "tolerance": "Reuse the existing predeclared 1e-6 affine same-mesh policy only where its contract applies; define and approve separate pre-execution tolerances for refinement and distortion.", "exit_gate": "Affine, face-load, multi-element, refinement and valid-distortion evidence; two replays; complete provenance; explicit Owner decision.", "risk": "HIGH"}, + {"id": "CAND-HEX8-BUCKLING", "proof_missing": "The active record is NOT_QUALIFIED and the prior decision requires more evidence; no closure follows from the HEX8 diagnostic campaign.", "tests_to_add": ["tests/verification/test_028_hex8_buckling_vnv.py"], "oracle": "Comparable Code_Aster or CalculiX C3D8 linear-buckling deck with exact preload, constraints, eigenvalue and mode convention.", "tolerance": "Predeclare critical-factor relative-error, eigen-residual, mode-correlation and mesh-refinement limits before execution.", "exit_gate": "Three-level refinement, independent comparable oracle, two replays and explicit Owner decision; otherwise retain NOT_QUALIFIED.", "risk": "HIGH"} + ] +} diff --git a/qualification/0_2_8/wp03_beam2_discrete_vnv.json b/qualification/0_2_8/wp03_beam2_discrete_vnv.json new file mode 100644 index 00000000..8bc94732 --- /dev/null +++ b/qualification/0_2_8/wp03_beam2_discrete_vnv.json @@ -0,0 +1,232 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP03-BEAM2-DISCRETE-VNV", + "work_package": "WP03", + "applicable_version": "0.2.8-development", + "baseline_sha": "598704c834b4642f7c2a9a1fdc7595895f9e4130", + "status": "CAMPAIGN_COMPLETE_OWNER_GATE_PENDING", + "maturity_matrix": "qualification/0_2_8/wp03_maturity_matrix.json", + "policy": { + "allowed_decisions": [ + "QUALIFIED_BOUNDED", + "EXPERIMENTAL", + "NOT_QUALIFIED" + ], + "no_automatic_maturity_promotion": true, + "historical_0_2_7_evidence_modified": false, + "oracle_rule": "Analytical or independent external oracle and predeclared tolerances are required; passing regression tests alone is insufficient.", + "owner_rule": "The four technical bounded decisions remain pending explicit Owner confirmation before any public maturity relabel." + }, + "cases": { + "BEAM2_STATIC": { + "source_record": "COMB-BEAM2-linear_static", + "source_wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "Straight two-node BEAM2 elements, isotropic constant section, small displacement, linear static axial, transverse tip-force and torsional cases; one-, two- and four-element meshes.", + "hypotheses": [ + "Euler-Bernoulli slender limit is not used as the static oracle; the Timoshenko closed-form tip solution is used.", + "The section is constant and the local reference vector is valid.", + "No releases, offsets, plasticity, contact, large rotation or distributed dynamic load is claimed." + ], + "oracle_type": "ANALYTICAL", + "oracle": "Closed-form Timoshenko cantilever displacement for axial, two transverse bending planes and torsion; reaction balance and strain-energy identity are independent invariants.", + "tolerances": { + "max_relative_displacement_error": 1.0e-10, + "max_reaction_equilibrium_error": 1.0e-10, + "max_energy_identity_error": 1.0e-10, + "max_relative_solver_residual": 1.0e-10 + }, + "primary_metric": "max_relative_displacement_error", + "invariant_metric": "max_reaction_equilibrium_error", + "residual_metric": "max_relative_solver_residual", + "additional_metrics": { + "max_energy_identity_error": 1.0e-10 + }, + "replay_count": 2, + "replay_digests": [ + "1c2e1dbdbf19791235af2a6a4b3666d550a31465ae8dfce1cefb9df35c0bb253", + "1c2e1dbdbf19791235af2a6a4b3666d550a31465ae8dfce1cefb9df35c0bb253" + ], + "observed": { + "max_relative_displacement_error": 2.3212746969057987e-15, + "max_reaction_equilibrium_error": 2.3987922759260987e-14, + "max_energy_identity_error": 1.572637146129579e-14, + "max_relative_solver_residual": 4.9657078105950856e-14, + "rigid_body_stiffness_nullity": 6 + }, + "refinement_observations": [ + {"case": "axial", "elements": 1, "relative_displacement_error": 0.0}, + {"case": "axial", "elements": 2, "relative_displacement_error": 0.0}, + {"case": "axial", "elements": 4, "relative_displacement_error": 0.0}, + {"case": "flexion_y", "elements": 1, "relative_displacement_error": 6.143113852068658e-16}, + {"case": "flexion_y", "elements": 2, "relative_displacement_error": 0.0}, + {"case": "flexion_y", "elements": 4, "relative_displacement_error": 1.4333932321493535e-15}, + {"case": "flexion_z", "elements": 1, "relative_displacement_error": 5.461822816248938e-16}, + {"case": "flexion_z", "elements": 2, "relative_displacement_error": 2.3212746969057987e-15}, + {"case": "flexion_z", "elements": 4, "relative_displacement_error": 1.228910133656011e-15}, + {"case": "torsion", "elements": 1, "relative_displacement_error": 0.0}, + {"case": "torsion", "elements": 2, "relative_displacement_error": 0.0}, + {"case": "torsion", "elements": 4, "relative_displacement_error": 5.254210528198985e-16} + ], + "exit_gate": "Technical evidence complete for the bounded route; explicit Owner confirmation is still required before public maturity promotion." + }, + "BEAM2_MODAL": { + "source_record": "COMB-BEAM2-modal", + "source_wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "Straight slender BEAM2 cantilever, isotropic constant section, coherent mass, fixed root, undamped linear modal analysis; first two bending modes on one-, two- and four-element meshes.", + "hypotheses": [ + "The analytical oracle is the Euler-Bernoulli slender-beam first-mode reference; it does not qualify thick-beam shear behavior.", + "Density is positive and the fixed root removes the six rigid-body modes.", + "No damping, nonlinear dynamics, joint, offset or multi-body claim is made." + ], + "oracle_type": "ANALYTICAL", + "oracle": "First two cantilever bending frequencies using beta_1 = 1.875104068711961 and sqrt(E I / (rho A)); eigen-residual, mass orthogonality and positive-mode count are invariants.", + "tolerances": { + "max_relative_frequency_error": 1.0e-2, + "max_mass_orthogonality_error": 1.0e-8, + "max_relative_eigen_residual": 1.0e-8 + }, + "primary_metric": "max_relative_frequency_error", + "invariant_metric": "max_mass_orthogonality_error", + "residual_metric": "max_relative_eigen_residual", + "additional_metrics": {}, + "replay_count": 2, + "replay_digests": [ + "d57d5c2a4c68939fa2ed2f94c361d2438f171f9debded21914e9f8dc4f4a5bbe", + "d57d5c2a4c68939fa2ed2f94c361d2438f171f9debded21914e9f8dc4f4a5bbe" + ], + "observed": { + "max_relative_frequency_error": 0.004332548615143528, + "max_mass_orthogonality_error": 2.376149277353064e-16, + "max_relative_eigen_residual": 5.2557815335770205e-12, + "positive_frequency_count_final_mesh": 2 + }, + "analytic_reference_frequencies_hz": [10.265692153022604, 12.572853815699316], + "refinement_observations": [ + {"elements": 1, "frequencies_hz": [10.310168763343672, 12.62467771437721], "relative_errors": [0.004332548615143528, 0.004121888271156289]}, + {"elements": 2, "frequencies_hz": [10.265970102360352, 12.570328792452488], "relative_errors": [2.7075557459285074e-05, 0.0002008313533142237]}, + {"elements": 4, "frequencies_hz": [10.261179614348812, 12.564361871561763], "relative_errors": [0.00043957471220907457, 0.000675418982995703]} + ], + "exit_gate": "Technical evidence complete for the bounded slender route; explicit Owner confirmation is still required before public maturity promotion." + }, + "DISCRETE_STATIC": { + "source_record": "COMB-DISCRETE-linear_static", + "source_wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "Linear ground springs with three uncoupled translational directions, one concentrated translational mass, direct static solve and a two-node spring assembly invariant.", + "hypotheses": [ + "Spring stiffness is constant, positive and expressed in SI units.", + "The static oracle is the closed-form relation u = F/k.", + "No coupled multi-DOF, rotational inertia, orientation, nonlinear, gap or damping claim is made." + ], + "oracle_type": "ANALYTICAL", + "oracle": "Independent scalar spring solutions u_x = 25/1000, u_y = -20/4000 and u_z = 45/9000; energy and action-reaction invariants are checked separately.", + "tolerances": { + "max_relative_displacement_error": 1.0e-12, + "max_equilibrium_error": 1.0e-12, + "max_relative_solver_residual": 1.0e-12, + "max_energy_identity_error": 1.0e-12, + "two_node_rigid_mode_error": 1.0e-12, + "two_node_action_reaction_error": 1.0e-12 + }, + "primary_metric": "max_relative_displacement_error", + "invariant_metric": "max_equilibrium_error", + "residual_metric": "max_relative_solver_residual", + "additional_metrics": { + "max_energy_identity_error": 1.0e-12, + "two_node_rigid_mode_error": 1.0e-12, + "two_node_action_reaction_error": 1.0e-12 + }, + "replay_count": 2, + "replay_digests": [ + "27964f51f9f3f6d75d8554d27f9dba7e58f423836c5877347ef442e440be4426", + "27964f51f9f3f6d75d8554d27f9dba7e58f423836c5877347ef442e440be4426" + ], + "observed": { + "max_relative_displacement_error": 0.0, + "max_equilibrium_error": 0.0, + "max_relative_solver_residual": 0.0, + "max_energy_identity_error": 0.0, + "two_node_rigid_mode_error": 0.0, + "two_node_action_reaction_error": 0.0 + }, + "observed_displacements_m": {"UX": 0.025, "UY": -0.005, "UZ": 0.005}, + "exit_gate": "Technical evidence complete for the declared uncoupled translational route; explicit Owner confirmation is still required before public maturity promotion." + }, + "DISCRETE_MODAL": { + "source_record": "COMB-DISCRETE-modal", + "source_wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "Three uncoupled translational spring-mass directions with k = (1000, 4000, 9000) N/m and m = 10 kg; undamped modal solve.", + "hypotheses": [ + "Mass and stiffness are diagonal in the global translational basis.", + "The analytical oracle is omega_i = sqrt(k_i/m) with f_i = omega_i/(2 pi).", + "No rotational inertia, coupled mass, multi-node coupling, damping or transient claim is made." + ], + "oracle_type": "ANALYTICAL", + "oracle": "Closed-form frequencies 1.5915494309189535, 3.183098861837907 and 4.7746482927568605 Hz; mass orthogonality and eigen-residual are invariants.", + "tolerances": { + "max_relative_frequency_error": 1.0e-12, + "mass_orthogonality_error": 1.0e-12, + "max_relative_eigen_residual": 1.0e-12 + }, + "primary_metric": "max_relative_frequency_error", + "invariant_metric": "mass_orthogonality_error", + "residual_metric": "max_relative_eigen_residual", + "additional_metrics": {}, + "replay_count": 2, + "replay_digests": [ + "b279e5e8b121e1b9daf665adb666a1f939bd676d9074a789e8a5dece59265975", + "b279e5e8b121e1b9daf665adb666a1f939bd676d9074a789e8a5dece59265975" + ], + "observed": { + "max_relative_frequency_error": 0.0, + "mass_orthogonality_error": 0.0, + "max_relative_eigen_residual": 1.7975467359112705e-16, + "positive_frequency_count": 3 + }, + "analytic_reference_frequencies_hz": [1.5915494309189535, 3.183098861837907, 4.7746482927568605], + "observed_frequencies_hz": [1.5915494309189535, 3.183098861837907, 4.7746482927568605], + "exit_gate": "Technical evidence complete for the declared uncoupled translational route; explicit Owner confirmation is still required before public maturity promotion." + } + }, + "routes": { + "BEAM2_NEWMARK": { + "source_record": "COMB-BEAM2-newmark_transient", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "oracle_required": "Independent time-history oracle with identical damping, integration parameters, time grid and sampled observables.", + "reason_not_closed": "No new WP03 external or analytical transient campaign was run." + }, + "BEAM2_HARMONIC": { + "source_record": "COMB-BEAM2-harmonic", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "oracle_required": "Independent frequency-response oracle with declared excitation, damping, frequency grid, phase and amplitude comparison.", + "reason_not_closed": "No new WP03 independent harmonic campaign was run." + }, + "DISCRETE_NEWMARK": { + "source_record": "COMB-DISCRETE-newmark_transient", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "oracle_required": "Analytical or independent SDOF/MDOF time-history oracle with declared damping and time grid.", + "reason_not_closed": "No new WP03 transient campaign was run." + }, + "DISCRETE_HARMONIC": { + "source_record": "COMB-DISCRETE-harmonic", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "oracle_required": "Analytical or independent frequency-response oracle with declared phase and amplitude tolerances.", + "reason_not_closed": "No new WP03 independent harmonic campaign was run." + } + } +} diff --git a/qualification/0_2_8/wp03_maturity_matrix.json b/qualification/0_2_8/wp03_maturity_matrix.json new file mode 100644 index 00000000..a47ef54a --- /dev/null +++ b/qualification/0_2_8/wp03_maturity_matrix.json @@ -0,0 +1,77 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP03-MATURITY-MATRIX", + "work_package": "WP03", + "applicable_version": "0.2.8-development", + "parent_baseline": "qualification/0_2_8/wp01_maturity_matrix.json", + "baseline_sha": "6895576206e163cfb9999ba74f5b4cbf081b1c98", + "status": "OWNER_GATE_FINALIZED", + "owner_gate_record": "qualification/0_2_8/wp03_owner_gate_final.json", + "public_maturity_policy": "Only the seven routes approved by the final Owner gate are relabeled QUALIFIED_BOUNDED. Every claim remains limited to the declared analytical or V&V scope.", + "summary": { + "QUALIFIED_BOUNDED": 7, + "EXPERIMENTAL": 1, + "NOT_QUALIFIED": 0, + "public_maturity_relabels_applied": 7 + }, + "evidence_record": "qualification/0_2_8/wp03_beam2_discrete_vnv.json", + "decisions": [ + { + "source_record": "COMB-BEAM2-linear_static", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + }, + { + "source_record": "COMB-BEAM2-modal", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + }, + { + "source_record": "COMB-BEAM2-newmark_transient", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + }, + { + "source_record": "COMB-BEAM2-harmonic", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + }, + { + "source_record": "COMB-DISCRETE-linear_static", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + }, + { + "source_record": "COMB-DISCRETE-modal", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + }, + { + "source_record": "COMB-DISCRETE-newmark_transient", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "public_maturity": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "failed_gate": "coarse.max_phase_error_rad exceeds the predeclared 0.012 rad limit" + }, + { + "source_record": "COMB-DISCRETE-harmonic", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS" + } + ] +} diff --git a/qualification/0_2_8/wp03_owner_gate_final.json b/qualification/0_2_8/wp03_owner_gate_final.json new file mode 100644 index 00000000..0b48913b --- /dev/null +++ b/qualification/0_2_8/wp03_owner_gate_final.json @@ -0,0 +1,96 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP03-OWNER-GATE-FINAL", + "work_package": "WP03", + "applicable_version": "0.2.8-development", + "audited_commit": "6895576206e163cfb9999ba74f5b4cbf081b1c98", + "status": "CLOSED_WITH_ONE_EXPERIMENTAL_ROUTE", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "technical_evidence": [ + { + "path": "qualification/0_2_8/wp03_beam2_discrete_vnv.json", + "sha256": "d7310af832f22d2e26b939a26a569d5d10de96d098d00fd9a6d53789239be0b6" + }, + { + "path": "qualification/0_2_8/wp03b_dynamic_vnv.json", + "sha256": "bd66f8478e2cb68d4e386cc4c288cf691ffc644b9f0fce54093724e142591e58" + } + ], + "audit_checks": { + "predeclared_scope_and_tolerances": "PASS", + "analytical_oracle_validity_and_independence": "PASS_WITH_LIMITATIONS", + "convergence_amplitude_phase_and_energy_checks": "PASS_WITH_LIMITATIONS", + "deterministic_replays": "PASS", + "claim_scope_coherence": "PASS", + "opportunistic_numerical_core_change": "NOT_FOUND", + "targeted_non_regression": "PASS", + "historical_0_2_7_evidence_integrity": "PASS" + }, + "decision_policy": "APPROVE_WITH_LIMITATIONS applies only to the exact declared analytical scope. It is a QUALIFIED_BOUNDED maturity action, never a general element, dynamic, damping, multi-DOF, nonlinear or external-correlation claim.", + "decisions": { + "BEAM2_STATIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["Straight constant-section isotropic small-displacement static BEAM2 only; releases, offsets, plasticity, contact, large rotations and dynamics remain excluded."] + }, + "BEAM2_MODAL": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["Straight slender fixed-root undamped first-two-mode cantilever scope only; thick-beam, damping, joints, offsets and multi-body response remain excluded."] + }, + "BEAM2_NEWMARK": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["One-element axial UX-only undamped free vibration with the declared Newmark parameters only; no general transient BEAM2 claim."] + }, + "BEAM2_HARMONIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["One-element axial damped SDOF response on the declared seven-point frequency grid only; no general BEAM2 FRF claim."] + }, + "DISCRETE_STATIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["Uncoupled translational linear ground springs and declared assembly invariant only; no rotational, oriented, nonlinear, gap or coupled claim."] + }, + "DISCRETE_MODAL": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["Uncoupled translational spring-mass modes only; no rotational inertia, coupling, damping or transient claim."] + }, + "DISCRETE_HARMONIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "limitations": ["Damped translational SDOF response on the declared seven-point frequency grid only; no general MDOF or alternate damping-model FRF claim."] + }, + "DISCRETE_NEWMARK": { + "owner_decision": "REJECT", + "promotion_applied": false, + "resulting_maturity": "EXPERIMENTAL", + "rejected_gate": "coarse.max_phase_error_rad", + "observed_value_rad": 0.012895220110156203, + "predeclared_limit_rad": 0.012, + "limitations": ["The gate and coarse time grid are retained unchanged. No promotion is authorized."] + } + }, + "final_matrix": "qualification/0_2_8/wp03_maturity_matrix.json", + "documentation": "docs/verification/0_2_8/wp03_owner_gate_final.md", + "summary": { + "approved_with_limitations": 7, + "rejected_promotions": 1, + "qualified_bounded_total": 7, + "experimental_total": 1, + "not_qualified_total": 0 + } +} diff --git a/qualification/0_2_8/wp03b_dynamic_vnv.json b/qualification/0_2_8/wp03b_dynamic_vnv.json new file mode 100644 index 00000000..7415301e --- /dev/null +++ b/qualification/0_2_8/wp03b_dynamic_vnv.json @@ -0,0 +1,205 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP03B-DYNAMIC-VNV", + "work_package": "WP03B", + "applicable_version": "0.2.8-development", + "baseline_sha": "6b9c08f91c876bf5136a9da39555149b89dc2b98", + "status": "CAMPAIGN_COMPLETE_WITH_ONE_EXPERIMENTAL_ROUTE", + "historical_0_2_7_evidence_modified": false, + "supersedes": [], + "preserves_wp03a_decisions": [ + "BEAM2_STATIC", + "BEAM2_MODAL", + "DISCRETE_STATIC", + "DISCRETE_MODAL" + ], + "policy": { + "allowed_decisions": ["QUALIFIED_BOUNDED", "EXPERIMENTAL", "NOT_QUALIFIED"], + "no_automatic_maturity_promotion": true, + "oracle_rule": "The exact solution of the declared one-degree-of-freedom semi-discrete linear system is an independent analytical oracle for the integration or direct-frequency route. It does not requalify the general element formulation, matrix assembly outside the declared axial/scalar subspace, or multi-DOF coupling.", + "replay_rule": "Each full route is executed twice in the executable test; canonical replay digests must match before a decision is recorded.", + "owner_rule": "Every technical bounded decision remains pending explicit Owner confirmation before any public maturity relabel." + }, + "cases": { + "BEAM2_NEWMARK": { + "source_record": "COMB-BEAM2-newmark_transient", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "One straight constant-section isotropic BEAM2, fixed root, axial UX-only free vibration, consistent axial mass, no applied load, Newmark average acceleration beta=0.25 and gamma=0.5, four periods at 40 and 80 samples per period.", + "hypotheses": [ + "The axial subspace is isolated by the fixed root and zero transverse/rotational initial state.", + "The independent physical coefficients are k=EA/L and m=rho*A*L/3.", + "No damping, transverse dynamics, joints, releases, offsets, distributed loading, nonlinear response or multi-element claim is made." + ], + "oracle_type": "ANALYTICAL_SEMIDISCRETE", + "oracle": "u(t)=u0 cos(omega t), v(t)=-u0 omega sin(omega t), omega=sqrt((EA/L)/(rho*A*L/3)).", + "tolerances": { + "coarse.max_relative_displacement_error": 0.055, + "coarse.max_relative_velocity_error": 0.06, + "coarse.max_phase_error_rad": 0.06, + "coarse.measured_frequency_relative_error": 0.015, + "coarse.max_relative_amplitude_error": 1.0e-10, + "coarse.max_relative_energy_drift": 5.0e-10, + "dt_displacement_error_ratio": 0.30, + "dt_velocity_error_ratio": 0.30 + }, + "replay_count": 2, + "replay_digests": ["b998604b770a181a80cfc8c6b4d58739b7e86d75c6caec73b78980b8b78a875b", "b998604b770a181a80cfc8c6b4d58739b7e86d75c6caec73b78980b8b78a875b"], + "observed": { + "natural_frequency_hz": 143.0352584454231, + "coarse": { + "max_phase_error_rad": 0.051486704190374155, + "max_relative_amplitude_error": 2.667137344314341e-14, + "max_relative_displacement_error": 0.04825004398418592, + "max_relative_energy_drift": 5.3459882023855156e-14, + "max_relative_velocity_error": 0.051463959686752166, + "measured_frequency_relative_error": 0.002054098034630747 + }, + "fine": { + "max_phase_error_rad": 0.012907341207615275, + "max_relative_amplitude_error": 4.662069341687669e-14, + "max_relative_displacement_error": 0.012109026409659659, + "max_relative_energy_drift": 9.311493375294265e-14, + "max_relative_velocity_error": 0.012906982817925948, + "measured_frequency_relative_error": 0.0005140001477841327 + }, + "dt_displacement_error_ratio": 0.25096404914425413, + "dt_velocity_error_ratio": 0.25079653599309926 + }, + "exit_gate": "Two deterministic replays, analytical displacement/velocity/frequency/phase/amplitude/energy checks and dt refinement pass; explicit Owner confirmation remains required.", + "limitations": ["This narrow axial free-vibration case does not qualify general BEAM2 transient dynamics."] + }, + "BEAM2_HARMONIC": { + "source_record": "COMB-BEAM2-harmonic", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "One straight constant-section isotropic BEAM2, fixed root, axial UX unit harmonic load, mass-proportional Rayleigh damping zeta=0.02, direct complex solve at seven frequency ratios 0.25, 0.5, 0.9, 1.0, 1.1, 1.5 and 2.0.", + "hypotheses": [ + "The independent scalar dynamic stiffness is k-omega^2*m+i*omega*alpha*m with k=EA/L and m=rho*A*L/3.", + "The sampled peak condition is only asserted on the frozen seven-frequency grid.", + "No transverse, multi-element, joint, release, offset, nonlinear or alternative damping-model claim is made." + ], + "oracle_type": "ANALYTICAL_SEMIDISCRETE", + "oracle": "H(omega)=1/(k-omega^2*m+i*omega*alpha*m), compared as complex response, amplitude and wrapped phase.", + "tolerances": { + "max_relative_amplitude_error": 1.0e-10, + "max_phase_error_rad": 1.0e-10, + "max_relative_complex_response_error": 1.0e-10, + "max_relative_residual": 1.0e-10 + }, + "replay_count": 2, + "replay_digests": ["acb61fb781649108f5f0a5bfdd9f1a5b304a1369633c855ae9cf5b037f7a0365", "acb61fb781649108f5f0a5bfdd9f1a5b304a1369633c855ae9cf5b037f7a0365"], + "observed": { + "frequency_count": 7, + "max_phase_error_rad": 2.7755575615628914e-17, + "max_relative_amplitude_error": 2.981662060711325e-16, + "max_relative_complex_response_error": 3.0734269040524025e-16, + "max_relative_residual": 3.552713678800501e-15, + "off_resonance_amplitude_ratio_high": 31.28597928785353, + "off_resonance_amplitude_ratio_low": 18.75666548190269, + "sampled_peak_frequency_hz": 143.0352584454231, + "sampled_peak_is_natural_frequency": true + }, + "exit_gate": "Two deterministic replays, all seven analytical complex FRF samples, sampled peak and off-resonance checks pass; explicit Owner confirmation remains required.", + "limitations": ["The sampled resonance result is not a continuous frequency search or a general BEAM2 FRF qualification."] + }, + "DISCRETE_NEWMARK": { + "source_record": "COMB-DISCRETE-newmark_transient", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "promotion_applied": false, + "owner_gate": "NOT_APPLICABLE", + "scope": "One grounded UX spring k=1000 N/m and one 10 kg concentrated mass, initial UX displacement 0.02 m, zero initial velocity, mass-proportional Rayleigh damping zeta=0.02, Newmark average acceleration beta=0.25 and gamma=0.5, four periods at 80 and 160 samples per period.", + "hypotheses": [ + "UY and UZ are fixed; the declared route has exactly one physical translational degree of freedom.", + "The damping coefficient is c=alpha*m with alpha=2*zeta*sqrt(k/m).", + "No coupled stiffness/mass, rotational inertia, orientation, gap, nonlinear spring or multi-node claim is made." + ], + "oracle_type": "ANALYTICAL_SEMIDISCRETE", + "oracle": "Underdamped SDOF closed form with omega_d=omega_n*sqrt(1-zeta^2), compared in displacement, velocity, state-plane phase and damped frequency; mechanical plus trapezoid-integrated damping energy is the energy invariant.", + "tolerances": { + "coarse.max_relative_displacement_error": 0.01, + "coarse.max_relative_velocity_error": 0.011, + "coarse.max_phase_error_rad": 0.012, + "coarse.measured_frequency_relative_error": 0.003, + "coarse.max_relative_energy_balance_error": 0.0015, + "coarse.max_mechanical_energy_increase": 1.0e-12, + "dt_displacement_error_ratio": 0.30, + "dt_velocity_error_ratio": 0.30 + }, + "replay_count": 2, + "replay_digests": ["e1fff9708552e13deec7e74c9eb6ce1deb6e427c86b3205dc667fdef75d1dda1", "e1fff9708552e13deec7e74c9eb6ce1deb6e427c86b3205dc667fdef75d1dda1"], + "observed": { + "natural_frequency_hz": 1.5915494309189535, + "damped_frequency_hz": 1.5912310891954131, + "rayleigh_alpha": 0.4, + "coarse": { + "final_mechanical_energy_ratio": 0.36623892648971623, + "max_mechanical_energy_increase": -2.884602237490652e-07, + "max_phase_error_rad": 0.012895220110156203, + "max_relative_displacement_error": 0.0075545451510954835, + "max_relative_energy_balance_error": 0.0009669147224642686, + "max_relative_velocity_error": 0.0078048525988951515, + "measured_frequency_relative_error": 0.0005130133450242935 + }, + "fine": { + "final_mechanical_energy_ratio": 0.3659526659928775, + "max_mechanical_energy_increase": -4.007861241495103e-08, + "max_phase_error_rad": 0.0032254224099297346, + "max_relative_displacement_error": 0.0018891710939277844, + "max_relative_energy_balance_error": 0.00024314411745056372, + "max_relative_velocity_error": 0.0019525950059548084, + "measured_frequency_relative_error": 0.00012820920698430882 + }, + "dt_displacement_error_ratio": 0.2500707926345289, + "dt_velocity_error_ratio": 0.25017705090692116 + }, + "failed_gate": { + "metric": "coarse.max_phase_error_rad", + "reason": "The deterministic coarse-step phase error 0.012895220110156203 rad exceeds the predeclared 0.012 rad gate. The tolerance and time grid are retained without post-result adjustment." + }, + "exit_gate": "Repeat the campaign under a separately predeclared contract that resolves the failed coarse-step phase gate; no maturity action is available from this record.", + "limitations": ["The energy-balance quadrature is a verification observable, not an additional solver output or a general damping qualification."] + }, + "DISCRETE_HARMONIC": { + "source_record": "COMB-DISCRETE-harmonic", + "source_wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "promotion_applied": false, + "owner_gate": "PENDING", + "scope": "One grounded UX spring k=1000 N/m and one 10 kg concentrated mass, unit UX harmonic load, mass-proportional Rayleigh damping zeta=0.02, direct complex solve at seven frequency ratios 0.25, 0.5, 0.9, 1.0, 1.1, 1.5 and 2.0.", + "hypotheses": [ + "The declared route is a scalar translational SDOF system.", + "The independent FRF uses k-omega^2*m+i*omega*alpha*m.", + "No coupled, rotational, multi-node, orientation, nonlinear or alternate-damping claim is made." + ], + "oracle_type": "ANALYTICAL_SEMIDISCRETE", + "oracle": "Damped SDOF H(omega)=1/(k-omega^2*m+i*omega*alpha*m), compared as complex response, amplitude and wrapped phase.", + "tolerances": { + "max_relative_amplitude_error": 1.0e-10, + "max_phase_error_rad": 1.0e-10, + "max_relative_complex_response_error": 1.0e-10, + "max_relative_residual": 1.0e-10 + }, + "replay_count": 2, + "replay_digests": ["57c2062f0e632916715622be998212d409b3d31c4337cbe9418ef2e4b3a043e2", "57c2062f0e632916715622be998212d409b3d31c4337cbe9418ef2e4b3a043e2"], + "observed": { + "frequency_count": 7, + "max_phase_error_rad": 0.0, + "max_relative_amplitude_error": 1.8610114743883564e-16, + "max_relative_complex_response_error": 1.8610114743883564e-16, + "max_relative_residual": 2.220513810852149e-16, + "off_resonance_amplitude_ratio_high": 31.285979287853536, + "off_resonance_amplitude_ratio_low": 18.756665481902694, + "sampled_peak_frequency_hz": 1.5915494309189535, + "sampled_peak_is_natural_frequency": true + }, + "exit_gate": "Two deterministic replays, all seven damped analytical complex FRF samples, sampled peak and off-resonance checks pass; explicit Owner confirmation remains required.", + "limitations": ["The sampled resonance result does not qualify a general MDOF or damping-model frequency response."] + } + } +} diff --git a/qualification/0_2_8/wp03b_maturity_matrix.json b/qualification/0_2_8/wp03b_maturity_matrix.json new file mode 100644 index 00000000..6f677474 --- /dev/null +++ b/qualification/0_2_8/wp03b_maturity_matrix.json @@ -0,0 +1,54 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP03B-MATURITY-DELTA", + "work_package": "WP03B", + "applicable_version": "0.2.8-development", + "baseline_sha": "6b9c08f91c876bf5136a9da39555149b89dc2b98", + "parent_wp03a_matrix": "qualification/0_2_8/wp03_maturity_matrix.json", + "evidence_record": "qualification/0_2_8/wp03b_dynamic_vnv.json", + "status": "TECHNICAL_VNV_COMPLETE_WITH_ONE_EXPERIMENTAL_ROUTE", + "public_maturity_policy": "No public maturity relabel is applied by this delta; every bounded technical decision requires explicit Owner confirmation.", + "preserved_wp03a_decisions": [ + "BEAM2_STATIC", + "BEAM2_MODAL", + "DISCRETE_STATIC", + "DISCRETE_MODAL" + ], + "summary": { + "new_qualified_bounded": 3, + "remain_experimental": 1, + "public_maturity_relabels_applied": 0, + "total_owner_gate_candidates_after_wp03b": 7 + }, + "decisions": [ + { + "source_record": "COMB-BEAM2-newmark_transient", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "UNCHANGED_PENDING_OWNER", + "owner_gate": "PENDING" + }, + { + "source_record": "COMB-BEAM2-harmonic", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "UNCHANGED_PENDING_OWNER", + "owner_gate": "PENDING" + }, + { + "source_record": "COMB-DISCRETE-newmark_transient", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "public_maturity": "UNCHANGED", + "owner_gate": "NOT_APPLICABLE", + "failed_gate": "coarse.max_phase_error_rad exceeds the predeclared WP03B limit" + }, + { + "source_record": "COMB-DISCRETE-harmonic", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "UNCHANGED_PENDING_OWNER", + "owner_gate": "PENDING" + } + ] +} diff --git a/qualification/0_2_8/wp04_maturity_matrix.json b/qualification/0_2_8/wp04_maturity_matrix.json new file mode 100644 index 00000000..75eb52f1 --- /dev/null +++ b/qualification/0_2_8/wp04_maturity_matrix.json @@ -0,0 +1,100 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP04-MATURITY-MATRIX", + "work_package": "WP04", + "applicable_version": "0.2.8-development", + "parent_baseline": "qualification/0_2_8/wp01_maturity_matrix.json", + "previous_delta": "qualification/0_2_8/wp03_maturity_matrix.json", + "baseline_sha": "2a6a02859e3f19ddf26903167de1db6fdd3f3c7c", + "status": "OWNER_GATE_FINALIZED", + "owner_gate_record": "qualification/0_2_8/wp04_owner_gate_final.json", + "evidence_record": "qualification/0_2_8/wp04_mitc_vnv.json", + "public_maturity_policy": "Only the four routes approved with limitations by the final WP04 Owner gate are relabeled QUALIFIED_BOUNDED. Every claim remains limited to the exact WP04 scope.", + "summary": { + "QUALIFIED_BOUNDED": 4, + "EXPERIMENTAL": 4, + "NOT_QUALIFIED": 0, + "owner_gate_required": 0, + "public_maturity_relabels_applied": 4, + "global_state_after_wp04_owner_gate": { + "QUALIFIED_BOUNDED": 31, + "PUBLIC_QUALIFIED_BOUNDED": 31, + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 1, + "TOTAL": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_state": "EXPERIMENTAL" + }, + "registry_counts_consistent": true + }, + "decisions": [ + { + "source_record": "COMB-MITC3-linear_static", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "evidence_case": "MITC3_STATIC" + }, + { + "source_record": "COMB-MITC3-modal", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "public_maturity": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "reason_not_closed": "No executable independent shell modal oracle is available.", + "evidence_case": "MITC3_MODAL" + }, + { + "source_record": "COMB-MITC3-newmark_transient", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "public_maturity": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "reason_not_closed": "No executable independent same-mesh transient shell oracle is available.", + "evidence_case": "MITC3_NEWMARK" + }, + { + "source_record": "COMB-MITC3-harmonic", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "EXPERIMENTAL", + "public_maturity": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "reason_not_closed": "No executable independent same-mesh shell FRF oracle is available.", + "evidence_case": "MITC3_HARMONIC" + }, + { + "source_record": "COMB-MITC4-linear_static", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "evidence_case": "MITC4_STATIC" + }, + { + "source_record": "COMB-MITC4-modal", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "EXPERIMENTAL", + "public_maturity": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "reason_not_closed": "The deterministic replay misses the frozen relative-residual gate (2.6317020430528298e-08 > 1e-08); no tolerance relaxation was applied.", + "evidence_case": "MITC4_MODAL" + }, + { + "source_record": "COMB-MITC4-newmark_transient", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "evidence_case": "MITC4_NEWMARK" + }, + { + "source_record": "COMB-MITC4-harmonic", + "wp01_disposition": "NEEDS_MINOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "evidence_case": "MITC4_HARMONIC" + } + ] +} diff --git a/qualification/0_2_8/wp04_mitc_vnv.json b/qualification/0_2_8/wp04_mitc_vnv.json new file mode 100644 index 00000000..0497881d --- /dev/null +++ b/qualification/0_2_8/wp04_mitc_vnv.json @@ -0,0 +1,306 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP04-MITC-VNV", + "work_package": "WP04", + "applicable_version": "0.2.8-development", + "baseline_sha": "2a6a02859e3f19ddf26903167de1db6fdd3f3c7c", + "status": "CAMPAIGN_COMPLETE_OWNER_GATE_FINALIZED", + "owner_gate_record": "qualification/0_2_8/wp04_owner_gate_final.json", + "historical_0_2_7_evidence_modified": false, + "policy": { + "allowed_decisions": ["QUALIFIED_BOUNDED", "EXPERIMENTAL", "NOT_QUALIFIED"], + "no_automatic_maturity_promotion": true, + "tolerance_rule": "All observable limits in this record are frozen before the WP04 execution. No limit may be retuned after a result.", + "historical_evidence_rule": "A referenced but absent historical artifact is not treated as executable evidence and is not recreated or rewritten.", + "external_correlation_rule": "External correlation is not required for a narrow analytical oracle that is independent of the algorithm under test; the resulting claim must state that spatial/general-family validation is excluded." + }, + "wp01_dispositions": { + "MITC3_STATIC": "NEEDS_MINOR_VNV", + "MITC3_MODAL": "NEEDS_MAJOR_VNV", + "MITC3_NEWMARK": "NEEDS_MAJOR_VNV", + "MITC3_HARMONIC": "NEEDS_MAJOR_VNV", + "MITC4_STATIC": "NEEDS_MINOR_VNV", + "MITC4_MODAL": "NEEDS_MINOR_VNV", + "MITC4_NEWMARK": "NEEDS_MINOR_VNV", + "MITC4_HARMONIC": "NEEDS_MINOR_VNV" + }, + "historical_audit": { + "mitc3_static_owner_review": "historical_owner_review_present_but_four_of_five_evidence_paths_absent", + "mitc3_dynamic_owner_review": "historical_owner_review_present_but_four_of_five_evidence_paths_absent", + "mitc4_classic_owner_review": "historical_owner_review_present_but_all_eight_evidence_paths_absent", + "interpretation": "Historical documents remain provenance records only. Current WP04 decisions use the fresh executable campaign below." + }, + "cases": { + "MITC3_STATIC": { + "source_record": "COMB-MITC3-linear_static", + "decision": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "scope": "MITC3 isotropic shell, linear static, small displacement/small rotation, flat and faceted curved assemblies within the executed mesh families; membrane, bending and transverse shear patch behavior, thin-shell locking trend, one reference-shell trend, load resultant and static energy/reaction checks.", + "oracle": "Affine membrane/bending/transverse-shear patch identities, global static equilibrium and strain-energy identity; Cook/Scordelis/pinched values are recorded as bounded reference trends, not universal acceptance claims.", + "tolerances": { + "patch_affine_membrane_error": 1.0e-10, + "patch_constant_shear_error": 1.0e-10, + "patch_constant_bending_error": 2.0e-13, + "rigid_body_residual_ratio": 2.0e-12, + "static_free_residual_ratio": 1.0e-10, + "static_energy_identity_error": 1.0e-10, + "load_resultant_relative_error": 1.0e-14, + "orientation_energy_relative_error": 2.0e-12, + "locking_tip_ratio_min": 0.89, + "locking_final_increment_max": 0.02 + }, + "required_replays": 2, + "external_correlation": "NOT_REQUIRED_FOR_DECLARED_ANALYTICAL_PATCH_SCOPE", + "limitations": ["The absent historical Code_Aster/CalculiX artifacts are not used.", "Reference-shell benchmark values remain bounded trends and do not support arbitrary curved-shell or mesh extrapolation.", "Composite, nonlinear, contact and dynamic MITC3 remain excluded."], + "execution": { + "status": "PASS_WITH_BOUNDED_REFERENCE_WARNINGS", + "replays": 2, + "replay_digests": [ + "a760cf3ba9a76ca5021ab4413a0483fdc3fc55e20cc8698bacb2d38e1141905a", + "a760cf3ba9a76ca5021ab4413a0483fdc3fc55e20cc8698bacb2d38e1141905a" + ], + "gate_metrics": { + "affine_membrane_error": 2.232335435579801e-16, + "constant_shear_error": 1.8070036208091741e-16, + "locking_fine_tip_ratio": 0.9753698608790409, + "locking_final_increment": 0.006716137009817877, + "rigid_body_residual_ratio": 1.9551278363364564e-17, + "free_residual_ratio": 7.847277775396759e-13, + "energy_identity_error": 9.565118837284669e-14, + "load_resultant_relative_error": 0.0, + "orientation_energy_relative_error": 2.5557227094295173e-16, + "permutation_energy_relative_error": 0.0, + "thickness_monotonic": true, + "reference_trend_status": { + "cook": "WARNING", + "scordelis": "WARNING", + "pinched": "WARNING" + } + }, + "reaction_relative_error_diagnostic": 1.2896054594572584e-11, + "test": "tests/verification/test_028_mitc_vnv.py::test_wp04_mitc3_static_replays_and_frozen_gates" + } + }, + "MITC3_MODAL": { + "source_record": "COMB-MITC3-modal", + "decision": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "scope": "No WP04 promotion scope.", + "oracle": "The current executable records provide same-assembled-model modal invariants, but no materialized independent same-mesh shell modal oracle is available in this clone.", + "tolerances": {}, + "required_replays": 0, + "external_correlation": "MISSING_EXECUTABLE_ARTIFACT", + "reason_not_closed": "Historical independent modal paths are absent; internal modal convergence alone is insufficient for this route-level promotion." + }, + "MITC3_NEWMARK": { + "source_record": "COMB-MITC3-newmark_transient", + "decision": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "scope": "No WP04 promotion scope.", + "oracle": "Current temporal-refinement studies use the first mode of the same assembled MITC3 model and explicitly do not provide an independent element oracle.", + "tolerances": {}, + "required_replays": 0, + "external_correlation": "MISSING_EXECUTABLE_ARTIFACT", + "reason_not_closed": "No materialized independent same-mesh transient shell correlation is available; temporal convergence alone is not sufficient." + }, + "MITC3_HARMONIC": { + "source_record": "COMB-MITC3-harmonic", + "decision": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "scope": "No WP04 promotion scope.", + "oracle": "Current internal harmonic evidence shares the assembled spatial model and does not provide a materialized independent shell FRF oracle.", + "tolerances": {}, + "required_replays": 0, + "external_correlation": "MISSING_EXECUTABLE_ARTIFACT", + "reason_not_closed": "No independent same-mesh shell FRF evidence is available in the clone." + }, + "MITC4_STATIC": { + "source_record": "COMB-MITC4-linear_static", + "decision": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "scope": "MITC4 isotropic constant-thickness shell, linear static, small displacement/small rotation, distorted flat quadrilateral patch and the executed bounded structural reference meshes; membrane, bending, shear, rigid-body, frame-objectivity, drilling and convergence checks.", + "oracle": "Affine patch identities and exact element invariants, plus the declared Cook/Scordelis/pinched reference trends. The route claim is limited to these executable cases and mesh-quality controls.", + "tolerances": { + "element_symmetry": 1.0e-12, + "rigid_body_force_ratio": 1.0e-10, + "rank_gap_ratio": 1.0e-8, + "frame_objectivity": 1.0e-10, + "patch_and_energy_checks": 1.0e-10, + "global_free_residual_ratio": 1.0e-10, + "global_energy_identity_error": 1.0e-10, + "global_reaction_relative_error": 1.0e-10, + "scordelis_error_percent": 1.5, + "scordelis_final_increment": 0.02, + "cook_final_increment": 0.05, + "pinched_final_increment": 0.10 + }, + "required_replays": 2, + "external_correlation": "NOT_REQUIRED_FOR_DECLARED_PATCH_AND_REFERENCE_SCOPE", + "limitations": ["The historical external paths are absent and are not claimed as current correlations.", "No variable thickness, composite, nonlinear, contact, buckling or large-rotation claim."], + "execution": { + "status": "PASS", + "replays": 2, + "replay_digests": [ + "3fc52b809778490e47f186b01a764795d5c9de487815c61cc5c79215da628fe9", + "3fc52b809778490e47f186b01a764795d5c9de487815c61cc5c79215da628fe9" + ], + "gate_metrics": { + "mechanical_checks": "14/14 PASS", + "cook_status": "PASS_WITH_REFERENCE_TREND_WARNING", + "cook_final_increment": 0.008254539037748917, + "scordelis_final_error": 0.003137634565931238, + "scordelis_final_increment": 0.006839799568395038, + "pinched_final_error": 0.07259114219962623, + "pinched_final_increment": 0.05969829832040064, + "drilling_plateau_relative_change": 9.49731161871514e-06, + "global_free_residual_ratio": 2.3355210871076343e-11, + "global_energy_identity_error": 7.029628071317814e-13, + "global_reaction_relative_error": 5.180481821298599e-12 + }, + "test": "tests/verification/test_028_mitc_vnv.py::test_wp04_mitc4_static_replays_and_frozen_gates" + } + }, + "MITC4_MODAL": { + "source_record": "COMB-MITC4-modal", + "decision": "EXPERIMENTAL", + "owner_gate": "REJECTED", + "scope": "Straight slender isotropic MITC4 cantilever, coherent mass, fixed root, undamped first-mode and first-two-mode modal study on the executed 4x1, 8x2 and 16x4 meshes, with rigid-body and mode-shape checks.", + "oracle": "Euler-Bernoulli slender cantilever frequency and first-mode shape, with eigen-residual, mass orthogonality, deterministic mode pairing and mesh convergence.", + "tolerances": { + "maximum_relative_frequency_error": 0.02, + "mode_assurance_criterion_min": 0.999, + "maximum_relative_residual": 1.0e-8, + "mass_orthogonality_error": 1.0e-8, + "mesh_frequency_increment": 0.02 + }, + "required_replays": 2, + "external_correlation": "NOT_REQUIRED_FOR_DECLARED_ANALYTICAL_SLENDER_CANTILEVER_SCOPE", + "limitations": ["No thick-shell shear, damping, prestress, concentrated mass, composite or general curved-shell modal claim."], + "reason_not_closed": "The deterministic analytical replay satisfies the study's internal 1e-7 residual limit, but the frozen WP04 promotion gate is 1e-8 and the observed final relative residual is 2.6317020430528298e-08. No tolerance relaxation is allowed after the result.", + "execution": { + "status": "REPLAY_PASS_FROZEN_GATE_FAILED", + "replays": 2, + "replay_digests": [ + "3cc0069ed48d37b0cb15b49c4c4fff146319d52416a35dd7e9d217f540d464ba", + "3cc0069ed48d37b0cb15b49c4c4fff146319d52416a35dd7e9d217f540d464ba" + ], + "gate_metrics": { + "relative_frequency_error": 0.013877308803999497, + "mode_assurance_criterion": 0.9999792558936241, + "mass_orthogonality_error": 1.02195480266465e-15, + "relative_residual": 2.6317020430528298e-08, + "frozen_relative_residual_limit": 1.0e-08, + "mesh_frequency_increment": 0.002894605772661243 + }, + "test": "tests/verification/test_028_mitc_vnv.py::test_wp04_mitc4_modal_replays_and_preserves_failed_frozen_gate" + } + }, + "MITC4_NEWMARK": { + "source_record": "COMB-MITC4-newmark_transient", + "decision": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "scope": "MITC4 isotropic cantilever initialized with one verified numerical mode, undamped linear free vibration, Newmark average acceleration beta=0.25/gamma=0.5, two periods and 20/40/80 steps per period; a damped sensitivity point is recorded but not generalized.", + "oracle": "Exact first-mode sinusoidal time history generated from the precomputed mode; it is independent of the Newmark recurrence and qualifies temporal integration on the declared spatial model only.", + "tolerances": { + "fine_normalized_rms_error": 0.003, + "period_return_error": 0.02, + "maximum_relative_energy_drift": 1.0e-8, + "minimum_observed_order": 1.9, + "maximum_dynamic_residual": 1.0e-7 + }, + "required_replays": 2, + "external_correlation": "NOT_REQUIRED_FOR_DECLARED_MODAL_TIME_INTEGRATION_SCOPE", + "limitations": ["The spatial mode is from QF Solver; this is not a general independent shell-element correlation.", "No nonlinear, base-excitation, PSD, composite or curved-dynamic claim."], + "execution": { + "status": "PASS", + "replays": 2, + "replay_digests": [ + "ceca5947ffa3d5db71e20b8c05b56d40110d00dfbee989b8ab1bdf1459fda1a2", + "ceca5947ffa3d5db71e20b8c05b56d40110d00dfbee989b8ab1bdf1459fda1a2" + ], + "gate_metrics": { + "fine_normalized_rms_error": 0.00262317529168414, + "fine_period_return_error": 2.0825240762813255e-05, + "fine_energy_drift": 3.6723055087171204e-11, + "minimum_observed_order": 1.9902537812858132, + "maximum_dynamic_residual": 3.495016696316973e-11 + }, + "test": "tests/verification/test_028_mitc_vnv.py::test_wp04_mitc4_newmark_replays_and_frozen_gates" + } + }, + "MITC4_HARMONIC": { + "source_record": "COMB-MITC4-harmonic", + "decision": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "scope": "MITC4 isotropic cantilever first-mode harmonic response with mass-proportional Rayleigh damping ratio 0.02, seven frequency ratios from 0 to 2, static limit, resonance, off-resonance phase and damping sensitivity.", + "oracle": "Closed-form single-mode complex response using the computed mass-normalized first mode; amplitude, wrapped phase, static limit, resonance location and residual are checked.", + "tolerances": { + "maximum_relative_complex_response_error": 1.0e-6, + "zero_hz_static_relative_error": 1.0e-9, + "maximum_residual_norm": 1.0e-7, + "peak_frequency_ratio_min": 0.95, + "peak_frequency_ratio_max": 1.05, + "phase_before_resonance_max_deg": 0.0, + "phase_after_resonance_min_deg": -180.0 + }, + "required_replays": 2, + "external_correlation": "NOT_REQUIRED_FOR_DECLARED_SINGLE_MODE_ANALYTICAL_SCOPE", + "limitations": ["No broadband modal coupling, thick-shell, composite, nonlinear or alternate damping-model claim.", "The missing historical external artifacts are not represented as current evidence."], + "execution": { + "status": "PASS", + "replays": 2, + "replay_digests": [ + "7a6debdafcf7d79c3cf027da1f5df7ae8480e434b3e5a520a0886ff2ebec69bf", + "7a6debdafcf7d79c3cf027da1f5df7ae8480e434b3e5a520a0886ff2ebec69bf" + ], + "gate_metrics": { + "maximum_relative_complex_response_error": 1.2540506221768314e-07, + "zero_hz_static_relative_error": 4.6342460017585094e-11, + "maximum_residual_norm": 2.027319181469083e-09, + "peak_frequency_ratio": 1.0, + "phase_before_resonance": true, + "phase_after_resonance": true, + "damping_amplitude_order": [0.015647337087197278, 0.007823668543595896, 0.0031294674174432587] + }, + "test": "tests/verification/test_028_mitc_vnv.py::test_wp04_mitc4_harmonic_replays_and_frozen_gates" + } + } + }, + "campaign_summary": { + "new_promotions": [ + "MITC3_STATIC", + "MITC4_STATIC", + "MITC4_NEWMARK", + "MITC4_HARMONIC" + ], + "owner_approved_promotions": [ + "MITC3_STATIC", + "MITC4_STATIC", + "MITC4_NEWMARK", + "MITC4_HARMONIC" + ], + "remain_experimental": [ + "MITC3_MODAL", + "MITC3_NEWMARK", + "MITC3_HARMONIC", + "MITC4_MODAL" + ], + "failed_gates": [ + "MITC4_MODAL.relative_residual: observed 2.6317020430528298e-08 > frozen 1.0e-08" + ], + "qualifying_replays": 8, + "historical_0_2_7_evidence_modified": false, + "numerical_source_modified": false, + "owner_gate_finalized": true, + "global_state_after_wp04_owner_gate": { + "QUALIFIED_BOUNDED": 31, + "PUBLIC_QUALIFIED_BOUNDED": 31, + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 1, + "TOTAL": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_state": "EXPERIMENTAL" + }, + "registry_counts_consistent": true + } +} diff --git a/qualification/0_2_8/wp04_owner_gate_final.json b/qualification/0_2_8/wp04_owner_gate_final.json new file mode 100644 index 00000000..2d2e2245 --- /dev/null +++ b/qualification/0_2_8/wp04_owner_gate_final.json @@ -0,0 +1,155 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP04-OWNER-GATE-FINAL", + "work_package": "WP04", + "applicable_version": "0.2.8-development", + "audited_commit": "0496467120997b0c23f6817eb2f6e76eeda698d8", + "status": "CLOSED_WITH_FOUR_APPROVED_PROMOTIONS", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "technical_evidence": [ + { + "path": "qualification/0_2_8/wp04_mitc_vnv.json", + "sha256": "2857d08589217840911e687697589b5c4ae0236527e684e90fdb411233935a2c" + }, + { + "path": "qualification/0_2_8/wp04_maturity_matrix.json", + "sha256": "17ed37d57d28245d83466feab07aab58d20788cb91b6686a436ec2ae742f8384" + }, + { + "path": "docs/verification/0_2_8/wp04_mitc_vnv.md", + "sha256": "57539d2e9f600881d2c555ca2e3a3c9f4a56945a021239711698b50240a86961" + } + ], + "audit_checks": { + "predeclared_scope": "PASS", + "oracle_independence_and_validity": "PASS_WITH_LIMITATIONS", + "frozen_tolerances": "PASS", + "static_invariants_and_patch_checks": "PASS", + "dynamic_amplitude_phase_checks": "PASS_WITH_LIMITATIONS", + "energy_checks": "PASS", + "convergence": "PASS_WITH_LIMITATIONS", + "deterministic_replays": "PASS", + "claim_evidence_coherence": "PASS", + "opportunistic_numerical_core_change": "NOT_FOUND", + "historical_0_2_7_evidence_integrity": "PASS", + "source_registry_reconciliation": "PASS" + }, + "decision_policy": "APPROVE_WITH_LIMITATIONS applies only to the exact declared WP04 scopes. It is not a universal element, shell-family, damping, nonlinear, curved-shell or external-correlation claim.", + "decisions": { + "MITC3_STATIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "evidence_case": "MITC3_STATIC", + "limitations": [ + "Isotropic MITC3 linear static, small-displacement/small-rotation, executed patch, equilibrium, energy, orientation, permutation, thickness and locking scope only.", + "Cook, Scordelis and pinched values remain bounded reference trends; composite, nonlinear, contact and dynamic MITC3 remain excluded." + ] + }, + "MITC3_MODAL": { + "owner_decision": "REJECT", + "promotion_applied": false, + "resulting_maturity": "EXPERIMENTAL", + "rejected_gate": "independent executable shell modal oracle", + "limitations": ["The inherited same-assembled-model evidence is not sufficient for route-level promotion."] + }, + "MITC3_NEWMARK": { + "owner_decision": "REJECT", + "promotion_applied": false, + "resulting_maturity": "EXPERIMENTAL", + "rejected_gate": "independent executable same-mesh transient shell oracle", + "limitations": ["Temporal refinement alone is not accepted as an independent element/oracle qualification."] + }, + "MITC3_HARMONIC": { + "owner_decision": "REJECT", + "promotion_applied": false, + "resulting_maturity": "EXPERIMENTAL", + "rejected_gate": "independent executable same-mesh shell FRF oracle", + "limitations": ["Internal harmonic evidence does not close the independent shell FRF requirement."] + }, + "MITC4_STATIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "evidence_case": "MITC4_STATIC", + "limitations": [ + "Isotropic constant-thickness MITC4 linear static, small-displacement/small-rotation, executed mechanics, patch, equilibrium, drilling and reference-mesh scope only.", + "No variable thickness, composite, nonlinear, contact, buckling or large-rotation claim; Cook remains a bounded trend warning." + ] + }, + "MITC4_MODAL": { + "owner_decision": "REJECT", + "promotion_applied": false, + "resulting_maturity": "EXPERIMENTAL", + "rejected_gate": "relative residual", + "observed_value": 2.6317020430528298e-08, + "predeclared_limit": 1.0e-08, + "limitations": ["No tolerance relaxation or numerical-core change is authorized."] + }, + "MITC4_NEWMARK": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "evidence_case": "MITC4_NEWMARK", + "limitations": [ + "Verified one-mode, undamped free-vibration Newmark average-acceleration temporal scope with the declared 20/40/80 steps-per-period study only.", + "The spatial mode is from QF Solver; forced, nonlinear, broadband, composite and curved-dynamic claims remain excluded." + ] + }, + "MITC4_HARMONIC": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "evidence_case": "MITC4_HARMONIC", + "limitations": [ + "Verified first-mode, seven-frequency, mass-proportional damping FRF scope only.", + "Broadband coupling, thick-shell, composite, nonlinear and alternate damping-model claims remain excluded." + ] + } + }, + "registry_reconciliation": { + "source_path": "qualification/0_2_7/capability_registry_v2.json", + "source_combination_count": 46, + "source_counts": { + "QUALIFIED_BOUNDED": 20, + "EXPERIMENTAL": 25, + "NOT_QUALIFIED": 1 + }, + "applied_wp03_delta": { + "QUALIFIED_BOUNDED": 7, + "EXPERIMENTAL": 1, + "NOT_QUALIFIED": 0 + }, + "applied_wp04_delta": { + "QUALIFIED_BOUNDED": 4, + "EXPERIMENTAL": 4, + "NOT_QUALIFIED": 0 + }, + "final_counts": { + "QUALIFIED_BOUNDED": 31, + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 1, + "TOTAL": 46 + }, + "identity_check": "31 + 14 + 1 = 46", + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_state": "EXPERIMENTAL", + "wedge6_is_not_not_qualified": true + }, + "final_matrix": "qualification/0_2_8/wp04_maturity_matrix.json", + "documentation": "docs/verification/0_2_8/wp04_owner_gate_final.md", + "summary": { + "approved_with_limitations": 4, + "rejected_promotions": 4, + "qualified_bounded_global": 31, + "experimental_global": 14, + "not_qualified_global": 1, + "total_global": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_global": "EXPERIMENTAL" + } +} diff --git a/qualification/0_2_8/wp05_maturity_matrix.json b/qualification/0_2_8/wp05_maturity_matrix.json new file mode 100644 index 00000000..d332ac1e --- /dev/null +++ b/qualification/0_2_8/wp05_maturity_matrix.json @@ -0,0 +1,61 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP05-MATURITY-DELTA", + "work_package": "WP05", + "applicable_version": "0.2.8-development", + "parent_wp04_matrix": "qualification/0_2_8/wp04_maturity_matrix.json", + "evidence_record": "qualification/0_2_8/wp05_wedge6_vnv.json", + "baseline_sha": "0ad191a41b45283cff53bb461996b08c8dc2739a", + "status": "OWNER_GATE_FINALIZED", + "owner_gate_record": "qualification/0_2_8/wp05_owner_gate_final.json", + "public_maturity_policy": "Only the exact WEDGE6 linear-static scope approved with limitations by the final WP05 Owner gate is relabeled QUALIFIED_BOUNDED. Modal, Newmark and harmonic WEDGE6 routes remain outside this decision.", + "summary": { + "QUALIFIED_BOUNDED": 1, + "EXPERIMENTAL": 0, + "NOT_QUALIFIED": 0, + "public_maturity_relabels_applied": 1, + "owner_gate_candidates": 0, + "global_state_after_wp05_owner_gate": {"QUALIFIED_BOUNDED": 32, "EXPERIMENTAL": 13, "NOT_QUALIFIED": 1, "TOTAL": 46, "not_qualified_combination": "COMB-HEX8-linear_buckling", "wedge6_static_state": "QUALIFIED_BOUNDED"}, + "registry_counts_consistent": true, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + }, + "decisions": [ + { + "source_record": "COMB-WEDGE6-linear_static", + "wp01_disposition": "NEEDS_MAJOR_VNV", + "decision": "QUALIFIED_BOUNDED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "APPROVED_WITH_LIMITATIONS", + "promotion_applied": true, + "evidence_case": "WEDGE6_STATIC", + "scope": "Gmsh Prism 6 WEDGE6, linear static, homogeneous isotropic small-strain elasticity, declared nodal/body/gravity/TRI3-pressure/QUAD4-pressure/surface-traction loads, conforming prism assemblies, declared valid distortions and fail-closed invalid geometry.", + "limitations": [ + "No modal, Newmark or harmonic promotion is implied.", + "No nonlinear, J2, Total-Lagrangian, contact, WEDGE15, mixed-mesh or arbitrary-distortion claim is made.", + "External correlation is limited to the recorded Code_Aster PENTA6 primary observables and declared tolerance classes.", + "Stress comparison to an external solver is excluded without an equivalent sampling contract." + ], + "gate": "The WP05 campaign passed its predeclared elemental, patch, load, multi-element, post-processing, geometry, refinement, replay and independent external-evidence checks. The Owner approved the exact bounded static scope with the limitations recorded in the final Owner gate." + }, + { + "source_record": "COMB-WEDGE6-modal", + "decision": "UNCHANGED", + "public_maturity": "QUALIFIED_BOUNDED", + "owner_gate": "NOT_APPLICABLE_TO_WP05" + }, + { + "source_record": "COMB-HEX8-linear_buckling", + "decision": "UNCHANGED", + "public_maturity": "NOT_QUALIFIED", + "owner_gate": "NOT_APPLICABLE_TO_WP05" + } + ], + "registry_integrity": { + "source_registry_0_2_7_unchanged": true, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": false, + "wedge6_static_distinct_from_hex8_buckling": true, + "owner_gate_applied": true, + "total_combinations": 46 + } +} diff --git a/qualification/0_2_8/wp05_owner_gate_final.json b/qualification/0_2_8/wp05_owner_gate_final.json new file mode 100644 index 00000000..1569a180 --- /dev/null +++ b/qualification/0_2_8/wp05_owner_gate_final.json @@ -0,0 +1,116 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP05-OWNER-GATE-FINAL", + "work_package": "WP05", + "applicable_version": "0.2.8-development", + "audited_commit": "e9d83047b310cd85380551d8096d898090a7cba9", + "status": "CLOSED_WITH_APPROVAL_WITH_LIMITATIONS", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "technical_evidence": [ + { + "path": "qualification/0_2_8/wp05_wedge6_contract.json", + "sha256": "168e8aa2f8fb47488eebfca5abeb8372f0e2e08f1b9e36af08450cf5ffb8813f" + }, + { + "path": "qualification/0_2_8/wp05_wedge6_vnv.json", + "sha256": "1167e0e5df238deee4185f248d21dd5797357c0b6599917628bb8f619ffe4245" + }, + { + "path": "qualification/0_2_8/wp05_maturity_matrix.json", + "sha256": "7769b2cf61b246314842cc2e205a5b940a207ce7e2e01fd3f537c4817be59761" + }, + { + "path": "docs/verification/0_2_8/wp05_wedge6_vnv.md", + "sha256": "f06e620121b207bb5ff0eaaceedfc06a1eda27a067be084742e7094c30f813bb" + } + ], + "audit_checks": { + "predeclared_scope": "PASS", + "patch_and_affine_completeness": "PASS", + "multi_element_evidence": "PASS", + "face_load_conservation": "PASS", + "reactions_equilibrium_energy": "PASS", + "stress_strain_recovery": "PASS", + "distortion_limits": "PASS_WITH_LIMITATIONS", + "convergence": "PASS", + "oracle_independence_and_validity": "PASS_WITH_LIMITATIONS", + "frozen_tolerances": "PASS", + "deterministic_replays": "PASS", + "claim_evidence_coherence": "PASS", + "opportunistic_numerical_core_change": "NOT_FOUND", + "historical_0_2_7_evidence_integrity": "PASS", + "source_registry_reconciliation": "PASS" + }, + "decision_policy": "APPROVE_WITH_LIMITATIONS applies only to the exact declared WEDGE6 linear-static scope. It is not a universal WEDGE6, solid-element, dynamic, nonlinear, mixed-mesh or external-stress claim.", + "decision": { + "source_record": "COMB-WEDGE6-linear_static", + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "promotion_applied": true, + "resulting_maturity": "QUALIFIED_BOUNDED", + "evidence_case": "WEDGE6_STATIC", + "scope": "Gmsh Prism 6 WEDGE6, homogeneous isotropic small-strain linear elasticity, linear static analysis, declared nodal/body/gravity/TRI3-pressure/QUAD4-pressure/surface-traction loads, conforming prism assemblies, declared valid distortions and explicit failure of invalid geometry, with displacement, Gauss-point strain/stress, energy, reactions and global equilibrium checks.", + "external_oracle_decision": "LIMITATION_COMPATIBLE_WITH_BOUNDED_SCOPE", + "external_oracle_limitations": [ + "The independent evidence is the controlled 0.2.7 Code_Aster 18.1 PENTA6 artifact audited by reference; it is not a new WP05 Code_Aster execution.", + "The artifact contains 12 comparable primary-observable cases and all 12 pass; current numerical source is unchanged since the external source commit.", + "CalculiX C3D6 remains NOT_COMPARABLE because its integration convention differs from the QF TRI3_X_GAUSS2 contract.", + "No external stress qualification is claimed without an equivalent sampling contract." + ], + "limitations": [ + "No modal, Newmark or harmonic promotion is implied.", + "No nonlinear, J2, Total-Lagrangian, contact, WEDGE15, mixed-mesh or unbounded arbitrary-distortion claim is made.", + "Automatic orientation repair is not claimed; coincident, nonfinite, inverted, wrong-order and negative-Jacobian geometry must fail explicitly.", + "The external correlation claim is limited to the recorded Code_Aster PENTA6 primary observables and declared tolerance classes." + ] + }, + "registry_reconciliation": { + "source_path": "qualification/0_2_7/capability_registry_v2.json", + "source_combination_count": 46, + "source_counts": { + "QUALIFIED_BOUNDED": 20, + "EXPERIMENTAL": 25, + "NOT_QUALIFIED": 1 + }, + "applied_wp03_delta": { + "QUALIFIED_BOUNDED": 7, + "EXPERIMENTAL": 1, + "NOT_QUALIFIED": 0 + }, + "applied_wp04_delta": { + "QUALIFIED_BOUNDED": 4, + "EXPERIMENTAL": 4, + "NOT_QUALIFIED": 0 + }, + "applied_wp05_delta": { + "QUALIFIED_BOUNDED": 1, + "EXPERIMENTAL": -1, + "NOT_QUALIFIED": 0 + }, + "final_counts": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "TOTAL": 46 + }, + "identity_check": "32 + 13 + 1 = 46", + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_state": "QUALIFIED_BOUNDED", + "wedge6_is_not_not_qualified": true + }, + "final_matrix": "qualification/0_2_8/wp05_maturity_matrix.json", + "documentation": "docs/verification/0_2_8/wp05_owner_gate_final.md", + "summary": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "approved_promotions": 1, + "qualified_bounded_global": 32, + "experimental_global": 13, + "not_qualified_global": 1, + "total_global": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_global": "QUALIFIED_BOUNDED" + } +} diff --git a/qualification/0_2_8/wp05_wedge6_contract.json b/qualification/0_2_8/wp05_wedge6_contract.json new file mode 100644 index 00000000..2e80ca0d --- /dev/null +++ b/qualification/0_2_8/wp05_wedge6_contract.json @@ -0,0 +1,96 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP05-WEDGE6-VNV-CONTRACT", + "work_package": "WP05", + "applicable_version": "0.2.8-development", + "baseline_sha": "0ad191a41b45283cff53bb461996b08c8dc2739a", + "status": "PREDECLARED_CAMPAIGN_CONTRACT", + "source_record": "COMB-WEDGE6-linear_static", + "wp01_gap": { + "disposition": "NEEDS_MAJOR_VNV", + "candidate_plan": "CAND-WEDGE6-STATIC", + "proof_missing": "The 0.2.7 Owner decision kept static WEDGE6 experimental; an expanded independent static campaign is required.", + "required_tests": "tests/verification/test_028_wedge6_static_campaign.py", + "required_exit": "Affine, face-load, multi-element, refinement and valid-distortion evidence; two replays; complete provenance; explicit Owner decision." + }, + "historical_0_2_7_inventory": [ + {"path": "qualification/0_2_7/wp07_state.json", "role": "kernel state", "status": "PASS; public static maturity remained EXPERIMENTAL"}, + {"path": "qualification/0_2_7/wp08_state.json", "role": "static workflow state", "status": "PASS; public qualification deferred"}, + {"path": "qualification/0_2_7/wp09_state.json", "role": "robustness and external state", "status": "PASS_WITH_LIMITATIONS; public qualification deferred"}, + {"path": "qualification/0_2_7/wp09_final_state.json", "role": "external closure state", "status": "PASS_WITH_LIMITATIONS; public qualification deferred"}, + {"path": "qualification/0_2_7/wp09r_state.json", "role": "Code_Aster headless replay state", "status": "PASS_WITH_LIMITATIONS"}, + {"path": "qualification/0_2_7/vnv_v2/wp07_evidence.json", "role": "elemental machine-readable evidence", "status": "controlled historical evidence"}, + {"path": "qualification/0_2_7/vnv_v2/wp08_evidence.json", "role": "static workflow machine-readable evidence", "status": "controlled historical evidence"}, + {"path": "qualification/0_2_7/vnv_v2/wp09_evidence.json", "role": "robustness machine-readable evidence", "status": "controlled historical evidence"}, + {"path": "qualification/0_2_7/vnv_v2/wp09_final_external_evidence.json", "role": "Code_Aster PENTA6 correlation", "status": "12 bounded PASS comparisons; Owner review tolerance state"}, + {"path": "qualification/0_2_7/vnv_v2/wp09r_code_aster_evidence.json", "role": "affine Code_Aster correlation", "status": "bounded PASS; Owner review tolerance state"}, + {"path": "docs/verification/0_2_7/0_2_7_wedge6_kernel.md", "role": "public technical record", "status": "historical; no rewrite"}, + {"path": "docs/verification/0_2_7/0_2_7_wedge6_static_vertical_slice.md", "role": "public static-slice record", "status": "historical; no rewrite"}, + {"path": "docs/verification/0_2_7/0_2_7_wedge6_robustness_external_vnv.md", "role": "robustness/external record", "status": "historical; no rewrite"}, + {"path": "qualification/0_2_7/wedge6_formulation_contract.json", "role": "formulation and observable contract", "status": "historical; no rewrite"}, + {"path": "qualification/0_2_7/wedge6_mapping_fixture.json", "role": "mapping and face-order fixture", "status": "historical; no rewrite"} + ], + "scope": { + "element": "WEDGE6", + "topology": "six-node linear triangular prism / Gmsh Prism 6", + "analysis": "linear_static", + "material": "homogeneous isotropic small-strain linear elasticity", + "production_quadrature": "TRI3_X_GAUSS2", + "reference_quadrature": "DUFFY_GAUSS5_X_GAUSS4 verification-only", + "import": "Gmsh Prism 6 through the existing importer", + "loads": ["nodal", "body_force", "gravity", "uniform TRI3 pressure", "uniform QUAD4 pressure", "constant surface traction"], + "post_processing": ["displacement", "Gauss-point strain", "Gauss-point stress", "von Mises diagnostic", "strain energy", "reactions", "force and moment equilibrium"], + "geometry": "positive-Jacobian valid affine, conforming multi-element, declared skew/distorted and aspect-ratio probes", + "failure_policy": "coincident, nonfinite, inverted, wrong-order and negative-Jacobian geometry fails explicitly; no automatic repair", + "excluded": ["modal", "Newmark", "harmonic", "nonlinear", "J2", "Total-Lagrangian", "contact", "WEDGE15", "mixed-mesh qualification", "unbounded arbitrary distortion", "stress qualification against an external solver"] + }, + "oracles": { + "elemental": "independent shape-function identities, affine mapping, Jacobian certificate, stiffness symmetry/rank, six rigid-body modes and production/reference quadrature comparison", + "patch": "closed-form constant strain for affine displacement fields; constitutive stress and strain-energy identities", + "loads_and_equilibrium": "geometric face area vectors, prescribed load resultants/moments, global reaction balance and solver free residual", + "convergence": "declared conforming stacked-prism refinement levels 1, 2 and 4 with the independent Code_Aster PENTA6 records as the external comparator", + "external": { + "solver": "Code_Aster 18.1.0", + "element": "PENTA6", + "artifact": "qualification/0_2_7/vnv_v2/wp09_final_external_evidence.json", + "comparability": "same six-node physical prism connectivity, material, loads and primary observables displacement/reaction/strain-energy; bounded cases only", + "calculix": "NOT_COMPARABLE because the inherited C3D6 route uses a different integration convention" + } + }, + "tolerance_policy": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "element_partition_and_derivative_sum_abs": 1.0e-14, + "affine_mapping_abs": 1.0e-13, + "stiffness_symmetry_relative": 1.0e-12, + "rigid_body_residual_relative": 1.0e-12, + "stiffness_rank": 12, + "affine_strain_abs": 1.0e-12, + "constitutive_stress_relative": 1.0e-12, + "production_reference_stiffness_relative": 1.0e-12, + "energy_identity_relative": 1.0e-12, + "load_resultant_relative": 1.0e-12, + "equilibrium_force_relative": 1.0e-12, + "equilibrium_moment_relative": 1.0e-12, + "free_solver_residual_relative": 1.0e-12, + "external_classes": { + "AFFINE_SAME_MESH": {"displacement": 1.0e-6, "total_reaction": 1.0e-6, "strain_energy": 1.0e-6, "approval_state": "OWNER_REVIEW_REQUIRED"}, + "DISTORTED": {"displacement": 1.0e-5, "total_reaction": 1.0e-5, "strain_energy": 1.0e-5, "approval_state": "OWNER_REVIEW_REQUIRED"}, + "REFINEMENT": {"displacement": 1.0e-5, "total_reaction": 1.0e-5, "strain_energy": 1.0e-5, "approval_state": "OWNER_REVIEW_REQUIRED"} + }, + "invalid_geometry": "exact declared failure code / non-PASS verdict" + }, + "replays_required": 2, + "promotion_gate": { + "technical_decision": "QUALIFIED_BOUNDED only if every declared internal gate passes, current deterministic replays agree, the independent external artifact remains complete and comparable, and no source or historical-evidence change is present", + "owner_gate": "required before any public maturity relabel", + "public_maturity_during_wp05": "EXPERIMENTAL", + "claim_boundary": "The bounded decision, if obtained, does not promote WEDGE6 modal/Newmark/harmonic or arbitrary solid-element behavior." + }, + "artifact_policy": { + "historical_0_2_7": "read-only and preserved", + "new_artifacts": "qualification/0_2_8 and docs/verification/0_2_8 only", + "numerical_source_change": false, + "baseline_change": false + } +} diff --git a/qualification/0_2_8/wp05_wedge6_vnv.json b/qualification/0_2_8/wp05_wedge6_vnv.json new file mode 100644 index 00000000..164ac610 --- /dev/null +++ b/qualification/0_2_8/wp05_wedge6_vnv.json @@ -0,0 +1,407 @@ +{ + "applicable_version": "0.2.8-development", + "artifact_classification": "CONTROLLED_PROOF", + "baseline_modified": false, + "baseline_sha": "0ad191a41b45283cff53bb461996b08c8dc2739a", + "bug_audit": { + "bugs_fixed": false, + "bugs_found": false + }, + "checks": { + "convergence": { + "observed": { + "all_pass": true, + "levels": [ + { + "displacement_norm": 1.5668260040044446e-05, + "element_count": 1, + "force_balance_relative_error": 1.260064970365687e-16, + "free_relative_residual": 1.340123006720315e-16, + "level": 1, + "moment_balance_relative_error": 8.144429729801879e-17, + "node_count": 6, + "status": "PASS", + "strain_energy": 4.349735968970511e-06 + }, + { + "displacement_norm": 3.511377017531008e-05, + "element_count": 2, + "force_balance_relative_error": 2.638391228454011e-16, + "free_relative_residual": 2.732709393410062e-16, + "level": 2, + "moment_balance_relative_error": 2.0298673864102293e-16, + "node_count": 9, + "status": "PASS", + "strain_energy": 9.088329304014482e-06 + }, + { + "displacement_norm": 8.783539521108817e-05, + "element_count": 4, + "force_balance_relative_error": 1.1106542500550444e-15, + "free_relative_residual": 9.949689777851646e-16, + "level": 4, + "moment_balance_relative_error": 3.1118371778414034e-15, + "node_count": 15, + "status": "PASS", + "strain_energy": 1.8611388470673678e-05 + } + ], + "refinement_levels": [ + 1, + 2, + 4 + ] + }, + "status": "PASS" + }, + "elemental": { + "observed": { + "affine_mapping_abs": 2.220446049250313e-16, + "affine_strain_max_abs": 3.469446951953614e-18, + "constitutive_stress_relative": 4.0100584824250234e-17, + "derivative_sum_max_abs": 0.0, + "energy_identity_relative": 1.3984503859156594e-16, + "integration_point_count": 6, + "minimum_production_detJ": 1.0, + "post_processing_finite": true, + "production_reference_stiffness_relative": 3.927286158142333e-16, + "production_volume": 1.0, + "reference_volume": 1.0, + "rigid_body_residual_relative": 2.6505788805961612e-17, + "shape_kronecker_max_abs": 0.0, + "shape_partition_abs": 1.1102230246251565e-16, + "stiffness_rank": 12, + "stiffness_symmetry_relative": 0.0 + }, + "status": "PASS" + }, + "external_oracle": { + "observed": { + "artifact": "qualification/0_2_7/vnv_v2/wp09_final_external_evidence.json", + "artifact_sha256": "9237cc1fdb8d54fcca2bf19089142ec55087c091d62180da737a498f0b6c4868", + "calculix_status": "NOT_COMPARABLE", + "cases_total": 12, + "contract_sha256": "e99e3366ed8af7689cd32ae87a0e4726c4e78350b0f23c8591067688cb2d9970", + "current_numeric_source_unchanged_since_external": true, + "executed_in_wp05": false, + "external_cases_run": 12, + "external_fail": 0, + "external_pass": 12, + "external_replay": { + "case_id": "WP09-FINAL-J-REFINEMENT-4", + "first_output_digest": "685ce7d0f257eedcca0b98ae390d4469e35fedc591221fabe455275b8fe60f3d", + "second_output_digest": "685ce7d0f257eedcca0b98ae390d4469e35fedc591221fabe455275b8fe60f3d", + "status": "PASS" + }, + "external_skipped": 0, + "historical_source_sha": "4b2fcdc9ed51821b05b52851912be3ebbe764b14", + "independent_comparable": true, + "max_relative_errors": { + "displacement": 2.9229502854856794e-15, + "strain_energy": 2.471435039975173e-15, + "total_reaction": 3.5954185263640105e-15 + }, + "post_result_retuning": false, + "qf_replay": "PASS", + "reuse_policy": "The 0.2.7 controlled Code_Aster artifact is preserved and audited; it is not rewritten or falsely relabeled as a current rerun.", + "solver": { + "base_image_digest": "sha256:4629a21a109309bb97fbdc27d750445cc869e151e2e2ed6290f69539614e4435", + "element": "PENTA6", + "gui_used": false, + "image": "qf-solver/code-aster-headless:18.1.0", + "image_digest": "sha256:df70aa569db65f952cdfd4b1391acac4819d0afa46d0788ee756683b87fac579", + "run_aster_no_mpi": true, + "solver": "Code_Aster", + "version": "18.1.0" + }, + "tolerance_policy_fixed_before_execution": true + }, + "status": "PASS" + }, + "face_loads": { + "observed": { + "pressure_all_faces_max_relative_error": 1.1102230246251565e-16, + "pressure_face_resultants": { + "0": [ + 0.0, + 0.0, + 2.0 + ], + "1": [ + 0.0, + 0.0, + -2.0 + ], + "2": [ + 0.0, + 3.9999999999999996, + 0.0 + ], + "3": [ + -1.9999999999999998, + -3.9999999999999996, + 0.0 + ], + "4": [ + 2.0, + 0.0, + 0.0 + ] + }, + "quadrilateral_faces_checked": 3, + "traction_relative_error": 6.634851608868751e-17, + "triangular_faces_checked": 2 + }, + "status": "PASS" + }, + "geometry_robustness": { + "observed": { + "cyclic_permutation": "VALID", + "cyclic_permutation_policy": "explicitly assessed; no automatic repair", + "direct_invalid_geometry_rejected": true, + "flat": "INVALID", + "flat_fatal_findings": [ + "COINCIDENT_ELEMENT_NODES" + ], + "inverted": "INVALID", + "inverted_fatal_findings": [ + "JACOBIAN_ORIENTATION_INVALID", + "WEDGE6_JACOBIAN_CERTIFICATE_INVALID", + "NONPOSITIVE_SIGNED_VOLUME" + ], + "near_degenerate": "VALID_WITH_WARNING", + "nominal": "VALID", + "valid_skew": "VALID" + }, + "status": "PASS" + }, + "multi_element_and_equilibrium": "PASS", + "patch_affine": "PASS", + "post_processing": "PASS" + }, + "contract": "qualification/0_2_8/wp05_wedge6_contract.json", + "current_replays": { + "replay_policy": "result_digest equality; timestamps and runtimes are not part of the deterministic comparison", + "required_replays": 2, + "wp07": { + "all_declared_verdicts_pass": true, + "case_count": 8, + "case_ids": [ + "WP07-SHAPE-IDENTITIES", + "WP07-JACOBIAN-NOMINAL", + "WP07-JACOBIAN-TERRA-ADVERSARIAL", + "WP07-K-SYMMETRY", + "WP07-RIGID-RANK", + "WP07-AFFINE-CONSTANT-STRAIN", + "WP07-QUADRATURE-COMPARISON", + "WP07-STRESS-RECOVERY" + ], + "case_result_digests": [ + "9de248da2dac3ca599a7180dc4a133ce81f314835e7c295196f5bf89ea0796a1", + "abdc2e30d584849b9c65525146ce2d080e532d626b95513cea5c1efc43b4414e", + "e163ee6c97979492fe0c2adb3bb7ab98b1a8e039f04a9f63d4a153c2daa10e82", + "12112b48138d9621e1cb99d7befc1454b7e1d4393b9e0f4284a9f167124e7e06", + "89a44959b76feffcedf75b6b8a6304e7011ebc11d95e28848814b8908e7544dc", + "097a0e6a7715026d167b5c74d66df85f65af394c4995de78d129b982c436fe38", + "606f3c7c2b863990d01f920509e3b5955e0b0c3462f8c1287039420b4ee56aa7", + "7f259a2721b750b456a8bba9ce03bbc0d647de5dfa50e54214d4d57dca1b1310" + ], + "catalog": "qualification/0_2_7/vnv_v2/wp07_cases.json", + "deterministic": true, + "replay_digests": [ + "d7676c50d104ee9237dc5a4011d3e13a27718635e2a2fdad163f72caa6914e29", + "d7676c50d104ee9237dc5a4011d3e13a27718635e2a2fdad163f72caa6914e29" + ], + "verdict_counts": { + "EXPECTED_FAILURE_PASS": 1, + "PASS": 7 + } + }, + "wp08": { + "all_declared_verdicts_pass": true, + "case_count": 15, + "case_ids": [ + "WP08-GMSH-IMPORT", + "WP08-GMSH-FACE-MAP", + "WP08-NODAL-STATIC", + "WP08-BODY-FORCE", + "WP08-TRI-PRESSURE", + "WP08-QUAD-PRESSURE", + "WP08-TRACTION", + "WP08-MULTI-PRISM", + "WP08-MOMENT-EQUILIBRIUM", + "WP08-PRESCRIBED-DISPLACEMENT", + "WP08-POST", + "WP08-ENERGY", + "WP08-BENDING", + "WP08-DISTORTED", + "WP08-INVERTED" + ], + "case_result_digests": [ + "be7f078ed0693866fd3a8495961e28529fa569f239663680069456f424158008", + "2409ee9af3671e2b27bc441adda0368a0fb8eb7c713b18d380de5cefdb60c91b", + "ec518f699aa901cd53f46381fb9a790188dccc85fabe57998c3f77e005d4ee67", + "c08beedead7552c7a8326a03384b45c8e85d9a2bee6985cda4fdb84bb74b9589", + "d69b45c315cbe2fe7c1a97aa75b89eb483d552b1251520d153f0f763b2769c54", + "759398dd6381aa7c5ffd71772a6c81da6d706835bcaa50554e702db854f81689", + "63cb5565cb6c796bfce649900dbb1b97ead818d4556cb841e702ecff9f4f6c79", + "78b8143e7ad5a935492444388a674bd548f443b1c84fb5cc23d8c3e6f940235e", + "01fbf861eff98d8bcfb1ce37f728805d241f811ee32395f9f1c639c42ae00f2e", + "894c97817decb94dd16856cf16f4fb7823900c3297baf4a258eef99e50f8bbbf", + "455a615fc7043d7227eca6bc75b921f962d7cca821d7d102f6eb606ac1a4571d", + "73289956a2b5c2c58b2cb6461667057f1c96c839d29f5a3977de1e7511b5741e", + "5ace9e1e0b671982e968bde3df4ad566cadcbbe6eb0512344bff730e7930a4cd", + "6b48473afdb46addd3c78232f925be558e3b789967e4aa6e9dfed464015e5b87", + "28065ad4a91e07bb3f8d23febdee8129b6d826af80c5727ce0f1ec28a95415fb" + ], + "catalog": "qualification/0_2_7/vnv_v2/wp08_cases.json", + "deterministic": true, + "replay_digests": [ + "05e2aa275a7b51377d9feda3fe93d8ac3d9d122768babed2bac875b81ad97ab1", + "05e2aa275a7b51377d9feda3fe93d8ac3d9d122768babed2bac875b81ad97ab1" + ], + "verdict_counts": { + "EXPECTED_FAILURE_PASS": 1, + "PASS": 14 + } + }, + "wp09": { + "all_declared_verdicts_pass": true, + "case_count": 22, + "case_ids": [ + "WP09-AFFINE-TENSION", + "WP09-COMPRESSION", + "WP09-SHEAR", + "WP09-BENDING", + "WP09-TRI-PRESSURE", + "WP09-QUAD-PRESSURE", + "WP09-PRESCRIBED-DISPLACEMENT", + "WP09-MULTI-ELEMENT", + "WP09-DISTORTED-VALID", + "WP09-REFINEMENT-1", + "WP09-REFINEMENT-2", + "WP09-REFINEMENT-3", + "WP09-ASPECT-RATIOS", + "WP09-SKEW", + "WP09-NEAR-DEGENERATE", + "WP09-INVERTED", + "WP09-WRONG-NODE-ORDER", + "WP09-MALFORMED-GMSH", + "WP09-SINGULAR-BC", + "WP09-RIGID-TRANSFORM", + "WP09-SCALE", + "WP09-DETERMINISTIC-REPLAY" + ], + "case_result_digests": [ + "70b04e363647a388d175b162aa6359ecfe0936a0e797b5b6b6408cfc418ee4b4", + "1fdf34bf1c5e878a2f7b1587c3251dbb7c4af4ac75a13a51c7c1d35091444dcc", + "d28017a670698431524d3f9f6f8809a2010b0aa4f0fd48cc2e8e3ce591ee61f5", + "7d6bbbb1d32b3a2ad118f41177218c50c0137d185f4fc1d84b8ce3b3c04c2f67", + "5e3a46ea9e03f3c7cb8c83218ce2980bdf5de3f01136fc8331bc432112ad464a", + "0bd5489e88c4d802c3d3efd60f2dd38bf359bbf6ed9719b345ce4b3969890410", + "7d3aee510cd64eab04d7c204569db1b6ec97df08e640916f6284a2830658eb78", + "d84654eb90b5816f1f1e9a503ccda53a314bea06440d06e6e20b22760b7f72a7", + "c5b7fd505c7be162a1374490d88f47b9ca961577beaf856afb65b0c115a5ff0f", + "b02221ed09ae713a44937b3af133bdf869dd8b4789b6b97d7d7c8bd69ed43b06", + "5ef0c71c9dbfd56d4150508e591bcff1a3e26d0f560f53e7ff79a024bc3f0987", + "c897b908edcda494a945417fa8b5f1a39efbb039242a5ffe9c1f463995991828", + "8493c6e9fca31785e040b9a20ec4d581cb377265f4e97de7a1239001fb8b847b", + "b379956c920c986feb3a97dd265d2af611ae529cef43226682a0b776c9185b47", + "6171cdc85e3f38d5ea2d122cd800eea3862191fdeea807f0247334316f246dab", + "c6b78a3962342fa42e1bef5cdf14a0055ba94ac97b9374b15a3e1f9091ac55a6", + "98bd03d056b119e434aee60f1c3e40cc5d1243f2bbed314f5c42193ace50e7e7", + "16f16e4cf3c5ef3d6c5fcd00b95e0f655979c917e28fe664b2a9e8851b796c14", + "0be24cb1356de37310bbb3baa4f49bc73824ca53ac7021c681b5274da1ba8cfb", + "d26b4896d8da6b35ea9bd6645ef3cf9022bb99211b2b415c03aa30bd263f14da", + "50d76ae6d42592026d07cecc4e83a9f55f9ae50759098c3ded4079e6174f3977", + "591ef4f60c81761e4e4956d8406ebabae6b33fb33e32f540cfcf8ed6af086011" + ], + "catalog": "qualification/0_2_7/vnv_v2/wp09_cases.json", + "deterministic": true, + "replay_digests": [ + "a9457156552b8ccc1525c531d816fcac1bef7e16ab9857f8bafacf199272b55c", + "a9457156552b8ccc1525c531d816fcac1bef7e16ab9857f8bafacf199272b55c" + ], + "verdict_counts": { + "EXPECTED_FAILURE_PASS": 4, + "PASS": 18 + } + } + }, + "global_state": { + "pre_owner_gate_public": { + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 31, + "TOTAL": 46 + }, + "current_public": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 32, + "TOTAL": 46 + }, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "wedge6_static_current_public": "QUALIFIED_BOUNDED" + }, + "historical_0_2_7_evidence_modified": false, + "numerical_source_modified": false, + "owner_gate_required": false, + "owner_gate_record": "qualification/0_2_8/wp05_owner_gate_final.json", + "promotion_boundary": { + "excluded_routes_remain": [ + "COMB-WEDGE6-modal public state is unchanged", + "WEDGE6 Newmark", + "WEDGE6 harmonic" + ], + "public_action": "The separate Owner gate approved the exact bounded static scope; no other WEDGE6 route is relabeled.", + "scope": { + "analysis": "linear_static", + "element": "WEDGE6", + "excluded": [ + "modal", + "Newmark", + "harmonic", + "nonlinear", + "J2", + "Total-Lagrangian", + "contact", + "WEDGE15", + "mixed-mesh qualification", + "unbounded arbitrary distortion", + "stress qualification against an external solver" + ], + "failure_policy": "coincident, nonfinite, inverted, wrong-order and negative-Jacobian geometry fails explicitly; no automatic repair", + "geometry": "positive-Jacobian valid affine, conforming multi-element, declared skew/distorted and aspect-ratio probes", + "import": "Gmsh Prism 6 through the existing importer", + "loads": [ + "nodal", + "body_force", + "gravity", + "uniform TRI3 pressure", + "uniform QUAD4 pressure", + "constant surface traction" + ], + "material": "homogeneous isotropic small-strain linear elasticity", + "post_processing": [ + "displacement", + "Gauss-point strain", + "Gauss-point stress", + "von Mises diagnostic", + "strain energy", + "reactions", + "force and moment equilibrium" + ], + "production_quadrature": "TRI3_X_GAUSS2", + "reference_quadrature": "DUFFY_GAUSS5_X_GAUSS4 verification-only", + "topology": "six-node linear triangular prism / Gmsh Prism 6" + }, + "technical_gate": "QUALIFIED_BOUNDED only if every declared internal gate passes, current deterministic replays agree, the independent external artifact remains complete and comparable, and no source or historical-evidence change is present" + }, + "public_maturity": "QUALIFIED_BOUNDED", + "record_id": "QF-028-WP05-WEDGE6-VNV", + "schema_version": 1, + "status": "CAMPAIGN_COMPLETE_OWNER_GATE_FINALIZED", + "technical_decision": "QUALIFIED_BOUNDED", + "work_package": "WP05" +} diff --git a/qualification/0_2_8/wp06_hex8_buckling_contract.json b/qualification/0_2_8/wp06_hex8_buckling_contract.json new file mode 100644 index 00000000..b5408b55 --- /dev/null +++ b/qualification/0_2_8/wp06_hex8_buckling_contract.json @@ -0,0 +1,77 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP06-HEX8-BUCKLING-CONTRACT", + "work_package": "WP06", + "applicable_version": "0.2.8-development", + "baseline_sha": "1dac48f88c07f1f5450f693702263472824f42bb", + "status": "PREDECLARED_CAMPAIGN_CONTRACT", + "source_record": "COMB-HEX8-linear_buckling", + "wp01_gap": { + "disposition": "NOT_QUALIFIED_TO_CLOSE", + "candidate_plan": "CAND-HEX8-BUCKLING", + "historical_reason": "The 0.2.6 G08 Owner review retained HEX8 as MORE_EVIDENCE_REQUIRED: the same-model C3D8 correlation and eigen diagnostics passed, but the corrected Euler error remained 298.413 percent and no comparable analytical/converged HEX8 closure was available." + }, + "historical_evidence_inventory": [ + {"path": "qualification/0_2_6/g08_requirements.json", "role": "frozen G08 buckling contract"}, + {"path": "qualification/0_2_6/g08_execution_evidence.json", "role": "historical execution and first-factor diagnostics"}, + {"path": "qualification/0_2_6/g08_euler_prevalidation_evidence.json", "role": "corrected Euler and HEX8 root-cause evidence"}, + {"path": "qualification/0_2_6/g08_calculix_correlation.json", "role": "historical C3D8 external correlation"}, + {"path": "qualification/0_2_6/g08_owner_final_review.json", "role": "active historical Owner decision"}, + {"path": "qualification/0_2_7/wp19_runtime/wp19_hex8_diagnostic.json", "role": "0.2.7 HEX8 diagnostic and C3D8 displacement comparison"}, + {"path": "docs/verification/0_2_7/0_2_7_wp19_robustness_hex8.md", "role": "0.2.7 bounded diagnostic interpretation"} + ], + "scope": { + "element": "HEX8", + "analysis": "linear_buckling", + "formulation": "first linearized tangent-instability factor from one converged proportional preload", + "material": "homogeneous isotropic_3d small-strain linear elasticity", + "loads": "uniform nodal dead compression on the x=L end plane", + "geometry": "rectangular prismatic solid column with x-axis length L, y-width b=1.2 and z-height h=1.0", + "boundary_configurations": [ + "cantilever: all DOFs fixed on x=0, x=L end free", + "pinned_pinned_lateral: UY/UZ fixed on both end planes and one x=0 UX anchor" + ], + "mesh": "conforming structured HEX8 meshes with at least three declared refinements in x/y/z", + "outputs": ["critical factor", "first mode", "preload residual", "Kg diagnostics", "eigen residual", "mode matching", "replay digest"], + "included": ["first factor", "first mode", "bounded mesh trend", "declared scale and preload perturbations", "fail-closed invalid/singular cases"], + "excluded": ["HEX8R", "SRI", "B-bar", "hourglass", "post-buckling", "collapse", "imperfection sensitivity", "multi-mode qualification", "mixed mesh", "plates", "shell/beam/discrete routes", "nonlinear material", "finite-kinematic J2", "unbounded geometry or universal buckling claims"] + }, + "oracles": { + "analytical": { + "name": "Euler column first-factor oracle", + "formula": "Pcr = C*pi^2*E*Iweak/L^2; C=0.25 for cantilever and C=1.0 for pinned-pinned_lateral", + "section_inertia": "Iweak = b*h^3/12 for the z-displacement weak bending plane", + "factor_conversion": "lambda_reference = Pcr / P_reference, with P_reference equal to the total applied nodal compression", + "mode_shape": "cantilever f(x)=1-cos(pi*x/(2L)); pinned-pinned f(x)=sin(pi*x/L), projected onto the z displacement direction", + "independence": "closed-form continuum reference evaluated independently from QF element assembly" + }, + "external": { + "preferred": "CalculiX C3D8 same mesh, geometry, material, constraints, preload and first factor/mode when executable is available", + "code_aster": "NOT_COMPARABLE unless an equivalent 3D solid eigen-buckling modelisation is demonstrated", + "comparability_rule": "mismatched boundary conditions, load convention, geometry, element formulation or observable is NOT_COMPARABLE, never PASS" + } + }, + "tolerance_policy": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "preload_relative_residual": 1.0e-8, + "geometric_stiffness_symmetry_relative": 1.0e-12, + "eigen_residual_relative_pass": 1.0e-7, + "eigen_residual_relative_warning_upper": 1.0e-5, + "critical_factor_bracket_relative": 1.0e-3, + "analytical_factor_relative_error": 0.10, + "analytical_mode_mac": 0.90, + "refinement_minimum_levels": 3, + "refinement_final_adjacent_factor_change": 0.01, + "external_factor_relative_error": 0.10, + "external_mode_mac": 0.90, + "scale_relation_relative_error": 0.02, + "preload_relation_relative_error": 0.02, + "replay_digest": "exact equality of declared deterministic outputs", + "replay_seed": 0 + }, + "promotion_gate": "QUALIFIED_BOUNDED only if both boundary configurations meet the analytical factor and mode gates on an eligible refinement, the first-factor sequence is converged, Kg/preload/eigen/replay checks pass, comparable external correlation passes when available, invalid cases fail closed, and no source or historical-evidence change is present.", + "owner_gate_required": true, + "public_maturity_during_wp06": "NOT_QUALIFIED", + "no_core_change_policy": "A numerical source change is outside this campaign unless a demonstrated bug has a minimal fix and regression evidence; no tolerance may change after observing results." +} diff --git a/qualification/0_2_8/wp06_hex8_buckling_vnv.json b/qualification/0_2_8/wp06_hex8_buckling_vnv.json new file mode 100644 index 00000000..f1f9fb2f --- /dev/null +++ b/qualification/0_2_8/wp06_hex8_buckling_vnv.json @@ -0,0 +1,777 @@ +{ + "applicable_version": "0.2.8-development", + "baseline_sha": "1dac48f88c07f1f5450f693702263472824f42bb", + "bugs": { + "fixed": false, + "found": false + }, + "campaign_policy": { + "external_required_for_promotion": true, + "no_post_observation_retuning": true, + "replays_required": 2, + "tolerances_frozen_before_execution": true + }, + "contract": "qualification/0_2_8/wp06_hex8_buckling_contract.json", + "external_oracle": { + "comparable": true, + "reason": "failed to connect to the docker API at npipe:////./pipe/dockerDesktopLinuxEngine; check if the path is correct and if the daemon is running: open //./pipe/dockerDesktopLinuxEngine: Le fichier sp\u00c3\u00a9cifi\u00c3\u00a9 est introuvable.", + "status": "SKIPPED_EXTERNAL_UNAVAILABLE" + }, + "global_state": { + "before_wp06": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 32, + "TOTAL": 46 + }, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "technical_if_not_promoted": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 32, + "TOTAL": 46 + }, + "technical_if_promoted": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 0, + "QUALIFIED_BOUNDED": 33, + "TOTAL": 46 + } + }, + "historical_external_audit": { + "hex8_rows": 1, + "historical_0_2_7_preserved": true, + "max_relative_error": 0.0008967643985924344, + "not_current_wp06_execution": true, + "pass_rows": 1, + "path": "qualification/0_2_6/g08_calculix_correlation.json", + "status": "AUDITED_HISTORICAL_ONLY" + }, + "integrity": { + "historical_0_2_7_evidence_changed": false, + "historical_clean_check": true, + "numerical_source_changed": false, + "source_clean_check": true + }, + "limitations": [ + "First linearized tangent-instability factor and first mode only.", + "Euler is the independent analytical oracle; no universal solid-buckling claim is made.", + "CalculiX C3D8 correlation is required for promotion and is explicitly unavailable when Docker cannot connect.", + "Code_Aster solid eigen-buckling remains NOT_COMPARABLE unless an equivalent modelisation is demonstrated.", + "No post-buckling, collapse, multi-mode, HEX8R/SRI/B-bar/hourglass or mixed-mesh claim." + ], + "owner_gate_required": true, + "primary_campaign": { + "rows": [ + { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 1.7196023087935477, + "configuration": "cantilever", + "counts": [ + 2, + 2, + 2 + ], + "critical_bracket": { + "lower": 41.939453125, + "relative_width": 5.821230025904474e-06, + "upper": 41.939697265625 + }, + "critical_factor": 41.93968580637746, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 8, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "8902251e5146042d6f1b64388b9bf549f3a4f5968daa587f8aeb4dcba3680c04", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 6.564306495012189e-14, + "free_dof_count": 54, + "geometric_stiffness_eigenvalue_max": 0.09013475890125798, + "geometric_stiffness_eigenvalue_min": -0.19552159700416116, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 1029, + "initial_tangent_nnz": 2983, + "preload_relative_residual": 1.2735713002240326e-12 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999578645251567, + "shape_relative_rmse_selected": 0.006491184394475789, + "uy_mac": 1.3081681338262603e-23, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999578645251567, + "uz_shape_relative_rmse": 0.006491184394475789, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 27, + "solver_reported_residual_relative": 1.7365848916573587e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.39547548823601564, + "configuration": "cantilever", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 21.5198974609375, + "relative_width": 5.672407142695074e-06, + "upper": 21.52001953125 + }, + "critical_factor": 21.519985969228905, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 5.068292899926537e-13, + "free_dof_count": 300, + "geometric_stiffness_eigenvalue_max": 0.07789771134748849, + "geometric_stiffness_eigenvalue_min": -0.19207211928083293, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19173, + "preload_relative_residual": 9.172404067731643e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999216796662838, + "shape_relative_rmse_selected": 0.00884987761022313, + "uy_mac": 1.5236855385269118e-22, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999216796662838, + "uz_shape_relative_rmse": 0.00884987761022313, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 125, + "solver_reported_residual_relative": 3.23931135329847e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.1584579563467968, + "configuration": "cantilever", + "counts": [ + 6, + 6, + 6 + ], + "critical_bracket": { + "lower": 17.8648681640625, + "relative_width": 6.832934745473181e-06, + "upper": 17.864990234375 + }, + "critical_factor": 17.864877725683325, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 216, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "c8472eb819b9216740739113dd450b72832d4cb48493654572eb67f1b52d37f2", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 1.3980755222781294e-12, + "free_dof_count": 882, + "geometric_stiffness_eigenvalue_max": 0.07612177352333727, + "geometric_stiffness_eigenvalue_min": -0.1464576116214982, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 20577, + "initial_tangent_nnz": 60813, + "preload_relative_residual": 7.540002334897406e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999295300464429, + "shape_relative_rmse_selected": 0.008394638381520008, + "uy_mac": 2.9198962380127357e-22, + "uy_shape_relative_rmse": 1.0000000000000002, + "uz_mac": 0.9999295300464429, + "uz_shape_relative_rmse": 0.008394638381520008, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 343, + "solver_reported_residual_relative": 3.235016521687442e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 61.68502750680848, + "analytical_pcr": 61.68502750680848, + "analytical_relative_error": 0.8157443817629452, + "configuration": "pinned_pinned_lateral", + "counts": [ + 2, + 2, + 2 + ], + "critical_bracket": { + "lower": 112.00390625, + "relative_width": 8.718927920622881e-06, + "upper": 112.0048828125 + }, + "critical_factor": 112.00424213438023, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 8, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "6231d1f4852fe758e75918e1ab4389d1ba5245a44dfdc704ed10441b2dc7ce01", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 1.1223539638753373e-14, + "free_dof_count": 44, + "geometric_stiffness_eigenvalue_max": 0.15060211668453, + "geometric_stiffness_eigenvalue_min": -0.6358502767908072, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 1029, + "initial_tangent_nnz": 2983, + "preload_relative_residual": 3.227285180729058e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9659253474322969, + "shape_relative_rmse_selected": 0.18459320834663212, + "uy_mac": 0.6889041057055388, + "uy_shape_relative_rmse": 0.5577597101749652, + "uz_mac": 0.9659253474322969, + "uz_shape_relative_rmse": 0.18459320834663212, + "weak_axis_expected": "UZ" + }, + "mode_norm": 0.9999999999999998, + "node_count": 27, + "solver_reported_residual_relative": 2.0342338883736553e-14, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 61.68502750680848, + "analytical_pcr": 61.68502750680848, + "analytical_relative_error": 0.20165097953011107, + "configuration": "pinned_pinned_lateral", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 49.24609375, + "relative_width": 9.915028208255253e-06, + "upper": 49.24658203125 + }, + "critical_factor": 49.246181287718706, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "a75e4e90640a77df430bfedd081ee4aa059f5754f0fddb85e2f056c499671bf2", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 4.944514480370522e-14, + "free_dof_count": 274, + "geometric_stiffness_eigenvalue_max": 0.1366583013309589, + "geometric_stiffness_eigenvalue_min": -1.193613348680181, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19173, + "preload_relative_residual": 2.1407473183130132e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9860363749319793, + "shape_relative_rmse_selected": 0.11816778354535176, + "uy_mac": 0.9556406500187492, + "uy_shape_relative_rmse": 0.2106165947432705, + "uz_mac": 0.9860363749319793, + "uz_shape_relative_rmse": 0.11816778354535176, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 125, + "solver_reported_residual_relative": 9.672356878359325e-14, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 61.68502750680848, + "analytical_pcr": 61.68502750680848, + "analytical_relative_error": 0.5425716287433738, + "configuration": "pinned_pinned_lateral", + "counts": [ + 6, + 6, + 6 + ], + "critical_bracket": { + "lower": 28.21630859375, + "relative_width": 8.652390222799048e-06, + "upper": 28.216552734375 + }, + "critical_factor": 28.216481663359584, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 216, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "7bad4eb37b41d3ded052285ffecd8e80dc3735f3bb7c11756af686c8d1c14463", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 7.042009091347543e-14, + "free_dof_count": 832, + "geometric_stiffness_eigenvalue_max": 0.222284904987437, + "geometric_stiffness_eigenvalue_min": -1.8515807097150188, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 20577, + "initial_tangent_nnz": 60813, + "preload_relative_residual": 1.7432918252101853e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9738484532823866, + "shape_relative_rmse_selected": 0.1617143986094411, + "uy_mac": 0.9593835254976312, + "uy_shape_relative_rmse": 0.201535293441047, + "uz_mac": 0.9738484532823866, + "uz_shape_relative_rmse": 0.1617143986094411, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 343, + "solver_reported_residual_relative": 1.3620499904835602e-13, + "status": "PASS", + "width": 1.2 + } + ], + "status": "FAIL", + "summaries": { + "cantilever": { + "analytical_factor_pass": false, + "analytical_mode_pass": true, + "analytical_relative_errors": [ + 1.7196023087935477, + 0.39547548823601564, + 0.1584579563467968 + ], + "convergence_pass": false, + "critical_factors": [ + 41.93968580637746, + 21.519985969228905, + 17.864877725683325 + ], + "final_adjacent_factor_change": 0.20459743971775624, + "internal_checks_pass": true, + "levels": [ + [ + 2, + 2, + 2 + ], + [ + 4, + 4, + 4 + ], + [ + 6, + 6, + 6 + ] + ], + "status": "FAIL" + }, + "pinned_pinned_lateral": { + "analytical_factor_pass": false, + "analytical_mode_pass": true, + "analytical_relative_errors": [ + 0.8157443817629452, + 0.20165097953011107, + 0.5425716287433738 + ], + "convergence_pass": false, + "critical_factors": [ + 112.00424213438023, + 49.246181287718706, + 28.216481663359584 + ], + "final_adjacent_factor_change": 0.7452984349805443, + "internal_checks_pass": true, + "levels": [ + [ + 2, + 2, + 2 + ], + [ + 4, + 4, + 4 + ], + [ + 6, + 6, + 6 + ] + ], + "status": "FAIL" + } + } + }, + "public_maturity": "NOT_QUALIFIED", + "record_id": "QF-028-WP06-HEX8-BUCKLING-VNV", + "replays": { + "deterministic": false, + "first_digest": "53481ef72f2d3a9d3d5ff6aec540017a62f541ffc4a5a7de831eba07b837d845", + "required": 2, + "second_digest": "62c8120c4ee01af56dc3022f9c939b235fd10fcb8e9b3c46cc5e6df425201b7c" + }, + "robustness_campaign": { + "invalid_orientation": { + "explicit_failure": false, + "result": { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 7.8369807623674905, + "configuration": "cantilever", + "counts": [ + 1, + 1, + 1 + ], + "critical_bracket": { + "lower": 136.27734375, + "relative_width": 7.1659417122301126e-06, + "upper": 136.2783203125 + }, + "critical_factor": 136.277350350944, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 1, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "0ef8a09908595a301551f4f6971d74d05e5301fb5be56aaf131d78baa7a15e72", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 1.8118893737606552e-14, + "free_dof_count": 12, + "geometric_stiffness_eigenvalue_max": 0.06844727700368605, + "geometric_stiffness_eigenvalue_min": -0.06254798326956312, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 192, + "initial_tangent_nnz": 576, + "preload_relative_residual": 1.0363059956100553e-12 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 1.0000000000000002, + "shape_relative_rmse_selected": 4.487303641936901e-15, + "uy_mac": 1.8861343446527562e-24, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 1.0000000000000002, + "uz_shape_relative_rmse": 4.487303641936901e-15, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 8, + "solver_reported_residual_relative": 3.8138706556972e-14, + "status": "PASS", + "width": 1.2 + } + }, + "moderate_mesh_perturbation": { + "finite_pass": true, + "result": { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.39553992858029396, + "configuration": "cantilever", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 21.5208740234375, + "relative_width": 5.672149744753262e-06, + "upper": 21.52099609375 + }, + "critical_factor": 21.520979720331244, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "088603be88fdb9ae80f81d848b84496288f00737748ad8bf95157bc54160f382", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 4.975385343239068e-13, + "free_dof_count": 300, + "geometric_stiffness_eigenvalue_max": 0.0778915211696791, + "geometric_stiffness_eigenvalue_min": -0.19222913367908778, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19249, + "preload_relative_residual": 9.366172272278455e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999217599887922, + "shape_relative_rmse_selected": 0.008845338388512185, + "uy_mac": 0.001111134266317576, + "uy_shape_relative_rmse": 0.9994442784536226, + "uz_mac": 0.9999217599887922, + "uz_shape_relative_rmse": 0.008845338388512185, + "weak_axis_expected": "UZ" + }, + "mode_norm": 0.9999999999999999, + "node_count": 125, + "solver_reported_residual_relative": 2.696373824398071e-13, + "status": "PASS", + "width": 1.2 + } + }, + "preload": { + "expected_factor_ratio": 0.5, + "observed_factor_ratio": 0.4995690669085592, + "pass": true, + "relative_error": 0.0008618661828816432, + "result": { + "analytical_factor": 7.71062843835106, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.3942727751036648, + "configuration": "cantilever", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 10.75067138671875, + "relative_width": 5.677302146020211e-06, + "upper": 10.750732421875 + }, + "critical_factor": 10.75071931053297, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "657104f1888ed4d9349d46bcb7dd7c9401481cb1879aec75d6a1b501ccb876a3", + "length": 4.0, + "load_total": 2.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 5.357012733182032e-13, + "free_dof_count": 300, + "geometric_stiffness_eigenvalue_max": 0.15602476105548682, + "geometric_stiffness_eigenvalue_min": -0.38447036247365546, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19173, + "preload_relative_residual": 1.4301381951829807e-11 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.999921650027673, + "shape_relative_rmse_selected": 0.008851551972771947, + "uy_mac": 1.1387847278698455e-22, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.999921650027673, + "uz_shape_relative_rmse": 0.008851551972771947, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 125, + "solver_reported_residual_relative": 3.0668667241165743e-13, + "status": "PASS", + "width": 1.2 + } + }, + "reference_input": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "scale": { + "expected_factor_ratio": 0.25, + "observed_factor_ratio": 0.2519224468594345, + "pass": true, + "relative_error": 0.0076897874377379605, + "result": { + "analytical_factor": 3.85531421917553, + "analytical_pcr": 3.85531421917553, + "analytical_relative_error": 0.4062063981151243, + "configuration": "cantilever", + "counts": [ + 8, + 4, + 4 + ], + "critical_bracket": { + "lower": 5.421356201171875, + "relative_width": 5.6291092497523194e-06, + "upper": 5.42138671875 + }, + "critical_factor": 5.421367521748845, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 128, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "e256341883a8e06b059aff4757a13df3d4d0d28a735ffb149965ddffca30133a", + "length": 8.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 7.548180994631263e-12, + "free_dof_count": 600, + "geometric_stiffness_eigenvalue_max": 0.07741841798456987, + "geometric_stiffness_eigenvalue_min": -0.20818927887743655, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 12675, + "initial_tangent_nnz": 36957, + "preload_relative_residual": 1.0736536039999318e-12 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999770718721629, + "shape_relative_rmse_selected": 0.004788332469286939, + "uy_mac": 7.493721632624009e-19, + "uy_shape_relative_rmse": 1.0000000000000002, + "uz_mac": 0.9999770718721629, + "uz_shape_relative_rmse": 0.004788332469286939, + "weak_axis_expected": "UZ" + }, + "mode_norm": 0.9999999999999999, + "node_count": 225, + "solver_reported_residual_relative": 4.509391313262103e-13, + "status": "PASS", + "width": 1.2 + } + }, + "singular_boundary": { + "explicit_failure": true, + "result": { + "configuration": "cantilever", + "counts": [ + 1, + 1, + 1 + ], + "element_count": 1, + "failure_message": "Full Newton line search failed to reduce the residual.", + "failure_type": "NumericalConvergenceError", + "height": 1.0, + "input_sha256": "0e84543730b22e69281011df5794967a4fbd6c5c728d0238f889fcd277e88dd8", + "length": 4.0, + "load_total": 1.0, + "node_count": 8, + "status": "EXPECTED_FAILURE", + "width": 1.2 + } + }, + "status": "FAIL" + }, + "schema_version": 1, + "source_sha": "1dac48f88c07f1f5450f693702263472824f42bb", + "status": "CAMPAIGN_COMPLETE_OWNER_GATE_PENDING", + "technical_decision": "NOT_QUALIFIED", + "work_package": "WP06" +} diff --git a/qualification/0_2_8/wp06_maturity_matrix.json b/qualification/0_2_8/wp06_maturity_matrix.json new file mode 100644 index 00000000..3992704b --- /dev/null +++ b/qualification/0_2_8/wp06_maturity_matrix.json @@ -0,0 +1,63 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP06-MATURITY-DELTA", + "work_package": "WP06", + "applicable_version": "0.2.8-development", + "parent_matrix": "qualification/0_2_8/wp05_maturity_matrix.json", + "evidence_record": "qualification/0_2_8/wp06_hex8_buckling_vnv.json", + "contract_record": "qualification/0_2_8/wp06_hex8_buckling_contract.json", + "baseline_sha": "1dac48f88c07f1f5450f693702263472824f42bb", + "status": "TECHNICAL_CAMPAIGN_COMPLETE_NO_PROMOTION", + "public_maturity_policy": "HEX8 linear buckling remains NOT_QUALIFIED. No public promotion is applied without passing all predeclared gates and a separate Owner gate.", + "summary": { + "QUALIFIED_BOUNDED": 0, + "EXPERIMENTAL": 0, + "NOT_QUALIFIED": 1, + "public_maturity_relabels_applied": 0, + "owner_gate_candidates": 0, + "global_state_after_wp06": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "TOTAL": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + }, + "registry_counts_consistent": true + }, + "decision": { + "source_record": "COMB-HEX8-linear_buckling", + "wp01_disposition": "NOT_QUALIFIED_TO_CLOSE", + "technical_decision": "NOT_QUALIFIED", + "public_maturity": "NOT_QUALIFIED", + "promotion_applied": false, + "scope": "No qualified scope. The assessed candidate was limited to first linearized tangent-instability factor and first mode for homogeneous isotropic HEX8 rectangular columns under proportional nodal dead compression, with cantilever and pinned-pinned lateral boundary configurations and three structured mesh levels.", + "blocking_gates": [ + "Euler critical-factor relative-error gate failed on every declared level in both configurations.", + "Three-level refinement did not reach the predeclared final adjacent-factor-change gate: 0.204597 for cantilever and 0.745298 for pinned-pinned lateral, against 0.01.", + "The invalid-orientation robustness input did not fail explicitly as required.", + "CalculiX C3D8 current correlation was unavailable because the Docker daemon could not be reached; the historical 0.2.6 correlation was audited only and was not reused as current WP06 execution evidence.", + "Two full-campaign replay digests differed; the deterministic replay gate therefore failed." + ], + "passing_subchecks": [ + "Preload residual, geometric-stiffness symmetry/sign and eigen residual checks passed for the executed valid rows.", + "First-mode shape matching passed the declared analytical mode gate for the valid rows.", + "Scale and preload proportionality checks passed within their fixed tolerances.", + "Singular-boundary handling failed closed explicitly." + ], + "future_closure_requirements": [ + "Retain the frozen tolerances; do not retune them after results.", + "Provide a comparable independent current correlation or a formally justified alternative under a new predeclared contract.", + "Close the refinement/factor error and invalid-geometry robustness gaps.", + "Make the complete campaign replay deterministic before requesting an Owner gate." + ] + }, + "registry_integrity": { + "source_registry_0_2_7_unchanged": true, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": false, + "not_qualified_combination_is_hex8_buckling": true, + "wedge6_static_distinct_from_hex8_buckling": true, + "owner_gate_applied": false, + "total_combinations": 46 + } +} diff --git a/qualification/0_2_8/wp06b_hex8_buckling_contract.json b/qualification/0_2_8/wp06b_hex8_buckling_contract.json new file mode 100644 index 00000000..d921741f --- /dev/null +++ b/qualification/0_2_8/wp06b_hex8_buckling_contract.json @@ -0,0 +1,98 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP06B-HEX8-BUCKLING-CONTRACT", + "work_package": "WP06B", + "applicable_version": "0.2.8-development", + "baseline_sha": "be8fbd99d8a3d3b8e4ee3b8d867842389b063061", + "status": "ROOT_CAUSE_AUDIT_AND_MINIMAL_REMEDIATION", + "source_record": "COMB-HEX8-linear_buckling", + "parent_campaign": "qualification/0_2_8/wp06_hex8_buckling_vnv.json", + "root_cause_audit": { + "euler_factor": { + "classification": "MODEL_SCOPE_LIMITATION", + "finding": "The Euler formula, units, weak-axis inertia and factor conversion are internally correct. The cantilever discrepancy is consistent with fully integrated low-order HEX8 bending/section discretization. The pinned-pinned test leaves all but one UX degree of freedom on the x=0 plane free and returns a predominantly axial/warping first solid mode; that boundary/model is not equivalent to a pure Euler pinned column.", + "numerical_bug": false, + "oracle_problem": true + }, + "mesh_convergence": { + "classification": "MODEL_SCOPE_LIMITATION", + "finding": "The declared factors are genuine generalized eigenvalues, but the selected low-order HEX8 first mode is affected by section discretization, aspect ratio and the pinned boundary constraint. The non-monotone sequence is not to be disguised as convergence.", + "numerical_bug": false, + "oracle_problem": true + }, + "invalid_orientation": { + "classification": "TEST_ORACLE_PROBLEM", + "finding": "Reversing all eight connectivity entries is an orientation-preserving HEX8 permutation and correctly keeps detJ positive. A true mirrored x-orientation is required to exercise rejection.", + "geometry_validation_gap": false, + "numerical_bug": false + }, + "replay_determinism": { + "classification": "SOLVER_NONDETERMINISM", + "finding": "The two complete runs retained identical critical factors and physical mode metrics to roundoff, while ARPACK/BLAS start and reduction paths changed residual and diagnostic floating-point tails. The existing sign canonicalization was not the cause and no physical eigenpair change was observed.", + "eigenpair_canonicalization_required": false, + "numerical_bug": true + }, + "external_oracle": { + "classification": "MODEL_SCOPE_LIMITATION", + "finding": "The current Docker/CalculiX service is unavailable. No external result is invented. The historical C3D8 record remains historical only; Code_Aster remains NOT_COMPARABLE under the frozen comparability rule.", + "numerical_bug": false + } + }, + "scope": { + "inherited_without_expansion": true, + "element": "HEX8", + "analysis": "linear_buckling", + "formulation": "first linearized tangent-instability factor from one converged proportional preload", + "material": "homogeneous isotropic_3d small-strain linear elasticity", + "loads": "uniform nodal dead compression on the x=L end plane", + "geometry": "rectangular prismatic solid column with x-axis length L, y-width b=1.2 and z-height h=1.0", + "boundary_configurations": [ + "cantilever: all DOFs fixed on x=0, x=L end free", + "pinned_pinned_lateral: UY/UZ fixed on both end planes and one x=0 UX anchor" + ], + "mesh": "conforming structured HEX8 meshes with at least three declared refinements in x/y/z", + "no_scope_change": true + }, + "tolerance_policy": { + "inherited_from": "qualification/0_2_8/wp06_hex8_buckling_contract.json", + "changed": false, + "fixed_before_wp06": true, + "post_observation_retuning": false, + "preload_relative_residual": 1.0e-8, + "geometric_stiffness_symmetry_relative": 1.0e-12, + "eigen_residual_relative_pass": 1.0e-7, + "critical_factor_bracket_relative": 1.0e-3, + "analytical_factor_relative_error": 0.10, + "analytical_mode_mac": 0.90, + "refinement_minimum_levels": 3, + "refinement_final_adjacent_factor_change": 0.01, + "external_factor_relative_error": 0.10, + "external_mode_mac": 0.90, + "scale_relation_relative_error": 0.02, + "preload_relation_relative_error": 0.02, + "replay_digest": "exact equality of declared deterministic outputs" + }, + "minimal_remediation": { + "numerical_source_change": { + "applied": true, + "path": "src/solveur/core/analyses/buckling.py", + "change": "Pass a fixed normalized ARPACK start vector to the existing sparse eigensolver calls. The generalized eigenproblem, tolerances and mode-sign canonicalization are unchanged.", + "regression_required": true + }, + "validation_test_change": { + "applied": true, + "path": "scripts/run_wp06_hex8_buckling.py", + "change": "Replace the orientation-preserving reverse permutation with a true mirrored x-connectivity permutation so invalid HEX8 detJ rejection is exercised.", + "regression_required": true + }, + "not_applied": [ + "No Euler formula or tolerance change.", + "No boundary-condition or scope rewrite.", + "No numerical formulation, integration or geometric-stiffness change.", + "No invented external correlation." + ] + }, + "promotion_gate": "QUALIFIED_BOUNDED_CANDIDATE only if the unchanged WP06 gates pass after the demonstrated minimal fixes; no public promotion is applied by WP06B.", + "owner_gate_required": true, + "public_maturity_during_wp06b": "NOT_QUALIFIED" +} diff --git a/qualification/0_2_8/wp06b_hex8_buckling_vnv.json b/qualification/0_2_8/wp06b_hex8_buckling_vnv.json new file mode 100644 index 00000000..2ac5a772 --- /dev/null +++ b/qualification/0_2_8/wp06b_hex8_buckling_vnv.json @@ -0,0 +1,797 @@ +{ + "applicable_version": "0.2.8-development", + "baseline_sha": "be8fbd99d8a3d3b8e4ee3b8d867842389b063061", + "bugs": { + "fixed": false, + "found": false + }, + "campaign_policy": { + "external_required_for_promotion": true, + "no_post_observation_retuning": true, + "replays_required": 2, + "tolerances_frozen_before_execution": true + }, + "contract": "qualification/0_2_8/wp06b_hex8_buckling_contract.json", + "external_oracle": { + "comparable": true, + "reason": "failed to connect to the docker API at npipe:////./pipe/dockerDesktopLinuxEngine; check if the path is correct and if the daemon is running: open //./pipe/dockerDesktopLinuxEngine: Le fichier sp\u00c3\u00a9cifi\u00c3\u00a9 est introuvable.", + "status": "SKIPPED_EXTERNAL_UNAVAILABLE" + }, + "fixes_applied": { + "deterministic_arpack_start": true, + "euler_oracle_changed": false, + "invalid_orientation_regression_case": true, + "mesh_or_boundary_scope_changed": false, + "tolerances_changed": false + }, + "global_state": { + "before_wp06": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 32, + "TOTAL": 46 + }, + "not_qualified_combination": "COMB-HEX8-linear_buckling", + "technical_if_not_promoted": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "QUALIFIED_BOUNDED": 32, + "TOTAL": 46 + }, + "technical_if_promoted": { + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 0, + "QUALIFIED_BOUNDED": 33, + "TOTAL": 46 + } + }, + "historical_0_2_7_evidence_changed": false, + "historical_external_audit": { + "hex8_rows": 1, + "historical_0_2_7_preserved": true, + "max_relative_error": 0.0008967643985924344, + "not_current_wp06_execution": true, + "pass_rows": 1, + "path": "qualification/0_2_6/g08_calculix_correlation.json", + "status": "AUDITED_HISTORICAL_ONLY" + }, + "integrity": { + "historical_0_2_7_evidence_changed": false, + "historical_clean_check": true, + "numerical_source_changed": true, + "source_clean_check": false + }, + "limitations": [ + "First linearized tangent-instability factor and first mode only.", + "Euler is the independent analytical oracle; no universal solid-buckling claim is made.", + "CalculiX C3D8 correlation is required for promotion and is explicitly unavailable when Docker cannot connect.", + "Code_Aster solid eigen-buckling remains NOT_COMPARABLE unless an equivalent modelisation is demonstrated.", + "No post-buckling, collapse, multi-mode, HEX8R/SRI/B-bar/hourglass or mixed-mesh claim." + ], + "minimal_remediation": { + "not_applied": [ + "No Euler formula or tolerance change.", + "No boundary-condition or scope rewrite.", + "No numerical formulation, integration or geometric-stiffness change.", + "No invented external correlation." + ], + "numerical_source_change": { + "applied": true, + "change": "Pass a fixed normalized ARPACK start vector to the existing sparse eigensolver calls. The generalized eigenproblem, tolerances and mode-sign canonicalization are unchanged.", + "path": "src/solveur/core/analyses/buckling.py", + "regression_required": true + }, + "validation_test_change": { + "applied": true, + "change": "Replace the orientation-preserving reverse permutation with a true mirrored x-connectivity permutation so invalid HEX8 detJ rejection is exercised.", + "path": "scripts/run_wp06_hex8_buckling.py", + "regression_required": true + } + }, + "numerical_source_changed": true, + "owner_gate_required": true, + "primary_campaign": { + "rows": [ + { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 1.7196023087935477, + "configuration": "cantilever", + "counts": [ + 2, + 2, + 2 + ], + "critical_bracket": { + "lower": 41.939453125, + "relative_width": 5.821230025904474e-06, + "upper": 41.939697265625 + }, + "critical_factor": 41.93968580637746, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 8, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "8902251e5146042d6f1b64388b9bf549f3a4f5968daa587f8aeb4dcba3680c04", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 7.638955742304379e-14, + "free_dof_count": 54, + "geometric_stiffness_eigenvalue_max": 0.09013475890125812, + "geometric_stiffness_eigenvalue_min": -0.19552159700416127, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 1029, + "initial_tangent_nnz": 2983, + "preload_relative_residual": 1.2735713002240326e-12 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999578645251567, + "shape_relative_rmse_selected": 0.006491184394475844, + "uy_mac": 1.3346459494699388e-23, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999578645251567, + "uz_shape_relative_rmse": 0.006491184394475844, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 27, + "solver_reported_residual_relative": 2.1514053896416884e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.39547548823601564, + "configuration": "cantilever", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 21.5198974609375, + "relative_width": 5.672407142695074e-06, + "upper": 21.52001953125 + }, + "critical_factor": 21.519985969228905, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 5.448792949712956e-13, + "free_dof_count": 300, + "geometric_stiffness_eigenvalue_max": 0.0778977113474885, + "geometric_stiffness_eigenvalue_min": -0.1920721192808331, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19173, + "preload_relative_residual": 9.172404067731643e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999216796662834, + "shape_relative_rmse_selected": 0.008849877610223187, + "uy_mac": 1.5111316080794432e-22, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999216796662834, + "uz_shape_relative_rmse": 0.008849877610223187, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 125, + "solver_reported_residual_relative": 3.3462376299093653e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.1584579563467968, + "configuration": "cantilever", + "counts": [ + 6, + 6, + 6 + ], + "critical_bracket": { + "lower": 17.8648681640625, + "relative_width": 6.832934745473181e-06, + "upper": 17.864990234375 + }, + "critical_factor": 17.864877725683325, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 216, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "c8472eb819b9216740739113dd450b72832d4cb48493654572eb67f1b52d37f2", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 1.4984977588183868e-12, + "free_dof_count": 882, + "geometric_stiffness_eigenvalue_max": 0.07612177352333727, + "geometric_stiffness_eigenvalue_min": -0.14645761162149834, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 20577, + "initial_tangent_nnz": 60813, + "preload_relative_residual": 7.540002334897406e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999295300464429, + "shape_relative_rmse_selected": 0.008394638381520153, + "uy_mac": 2.911702293482642e-22, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999295300464429, + "uz_shape_relative_rmse": 0.008394638381520153, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 343, + "solver_reported_residual_relative": 3.3773894292663816e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 61.68502750680848, + "analytical_pcr": 61.68502750680848, + "analytical_relative_error": 0.8157443817629452, + "configuration": "pinned_pinned_lateral", + "counts": [ + 2, + 2, + 2 + ], + "critical_bracket": { + "lower": 112.00390625, + "relative_width": 8.718927920622881e-06, + "upper": 112.0048828125 + }, + "critical_factor": 112.00424213438023, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 8, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "6231d1f4852fe758e75918e1ab4389d1ba5245a44dfdc704ed10441b2dc7ce01", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 7.712046703097852e-15, + "free_dof_count": 44, + "geometric_stiffness_eigenvalue_max": 0.15060211668453008, + "geometric_stiffness_eigenvalue_min": -0.6358502767908074, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 1029, + "initial_tangent_nnz": 2983, + "preload_relative_residual": 3.227285180729058e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9659253474322972, + "shape_relative_rmse_selected": 0.18459320834663134, + "uy_mac": 0.6889041057055411, + "uy_shape_relative_rmse": 0.5577597101749633, + "uz_mac": 0.9659253474322972, + "uz_shape_relative_rmse": 0.18459320834663134, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 27, + "solver_reported_residual_relative": 1.589832222090371e-14, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 61.68502750680848, + "analytical_pcr": 61.68502750680848, + "analytical_relative_error": 0.20165097953011107, + "configuration": "pinned_pinned_lateral", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 49.24609375, + "relative_width": 9.915028208255253e-06, + "upper": 49.24658203125 + }, + "critical_factor": 49.246181287718706, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "a75e4e90640a77df430bfedd081ee4aa059f5754f0fddb85e2f056c499671bf2", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 5.722539069864524e-14, + "free_dof_count": 274, + "geometric_stiffness_eigenvalue_max": 0.13665830133095902, + "geometric_stiffness_eigenvalue_min": -1.1936133486801812, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19173, + "preload_relative_residual": 2.1407473183130132e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9860363749319794, + "shape_relative_rmse_selected": 0.11816778354535161, + "uy_mac": 0.9556406500187489, + "uy_shape_relative_rmse": 0.21061659474327132, + "uz_mac": 0.9860363749319794, + "uz_shape_relative_rmse": 0.11816778354535161, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 125, + "solver_reported_residual_relative": 1.1206538182500867e-13, + "status": "PASS", + "width": 1.2 + }, + { + "analytical_factor": 61.68502750680848, + "analytical_pcr": 61.68502750680848, + "analytical_relative_error": 0.5425716287433738, + "configuration": "pinned_pinned_lateral", + "counts": [ + 6, + 6, + 6 + ], + "critical_bracket": { + "lower": 28.21630859375, + "relative_width": 8.652390222799048e-06, + "upper": 28.216552734375 + }, + "critical_factor": 28.216481663359584, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 216, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "7bad4eb37b41d3ded052285ffecd8e80dc3735f3bb7c11756af686c8d1c14463", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 6.739566958733684e-14, + "free_dof_count": 832, + "geometric_stiffness_eigenvalue_max": 0.22228490498743686, + "geometric_stiffness_eigenvalue_min": -1.851580709715019, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 20577, + "initial_tangent_nnz": 60813, + "preload_relative_residual": 1.7432918252101853e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9738484532823865, + "shape_relative_rmse_selected": 0.16171439860944134, + "uy_mac": 0.9593835254976318, + "uy_shape_relative_rmse": 0.20153529344104693, + "uz_mac": 0.9738484532823865, + "uz_shape_relative_rmse": 0.16171439860944134, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 343, + "solver_reported_residual_relative": 1.2948880631923162e-13, + "status": "PASS", + "width": 1.2 + } + ], + "status": "FAIL", + "summaries": { + "cantilever": { + "analytical_factor_pass": false, + "analytical_mode_pass": true, + "analytical_relative_errors": [ + 1.7196023087935477, + 0.39547548823601564, + 0.1584579563467968 + ], + "convergence_pass": false, + "critical_factors": [ + 41.93968580637746, + 21.519985969228905, + 17.864877725683325 + ], + "final_adjacent_factor_change": 0.20459743971775624, + "internal_checks_pass": true, + "levels": [ + [ + 2, + 2, + 2 + ], + [ + 4, + 4, + 4 + ], + [ + 6, + 6, + 6 + ] + ], + "status": "FAIL" + }, + "pinned_pinned_lateral": { + "analytical_factor_pass": false, + "analytical_mode_pass": true, + "analytical_relative_errors": [ + 0.8157443817629452, + 0.20165097953011107, + 0.5425716287433738 + ], + "convergence_pass": false, + "critical_factors": [ + 112.00424213438023, + 49.246181287718706, + 28.216481663359584 + ], + "final_adjacent_factor_change": 0.7452984349805443, + "internal_checks_pass": true, + "levels": [ + [ + 2, + 2, + 2 + ], + [ + 4, + 4, + 4 + ], + [ + 6, + 6, + 6 + ] + ], + "status": "FAIL" + } + } + }, + "public_maturity": "NOT_QUALIFIED", + "record_id": "QF-028-WP06B-HEX8-BUCKLING-VNV", + "replays": { + "deterministic": true, + "first_digest": "07311481b4cfb86edc5b1e99179f6bdebfc46c191060dfb3bace38325b40edff", + "required": 2, + "second_digest": "07311481b4cfb86edc5b1e99179f6bdebfc46c191060dfb3bace38325b40edff" + }, + "robustness_campaign": { + "invalid_orientation": { + "explicit_failure": true, + "result": { + "configuration": "cantilever", + "counts": [ + 1, + 1, + 1 + ], + "element_count": 1, + "failure_message": "Mesh validation failed: Element 0: invalid HEX8 geometry: Invalid HEX8 Jacobian determinant -6.000000e-01.", + "failure_type": "MeshValidationError", + "height": 1.0, + "input_sha256": "d0e143bb29e5eb09424387c6b72a1c810025b1166cbe27eaae46a31b32d811f6", + "length": 4.0, + "load_total": 1.0, + "node_count": 8, + "status": "EXPECTED_FAILURE", + "width": 1.2 + } + }, + "moderate_mesh_perturbation": { + "finite_pass": true, + "result": { + "analytical_factor": 15.42125687670212, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.39553992858029396, + "configuration": "cantilever", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 21.5208740234375, + "relative_width": 5.672149744753262e-06, + "upper": 21.52099609375 + }, + "critical_factor": 21.520979720331244, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "088603be88fdb9ae80f81d848b84496288f00737748ad8bf95157bc54160f382", + "length": 4.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 4.2577487781220335e-13, + "free_dof_count": 300, + "geometric_stiffness_eigenvalue_max": 0.0778915211696791, + "geometric_stiffness_eigenvalue_min": -0.1922291336790877, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19249, + "preload_relative_residual": 9.366172272278455e-13 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999217599887924, + "shape_relative_rmse_selected": 0.008845338388512128, + "uy_mac": 0.0011111342663180461, + "uy_shape_relative_rmse": 0.9994442784536224, + "uz_mac": 0.9999217599887924, + "uz_shape_relative_rmse": 0.008845338388512128, + "weak_axis_expected": "UZ" + }, + "mode_norm": 0.9999999999999999, + "node_count": 125, + "solver_reported_residual_relative": 3.1022784383322076e-13, + "status": "PASS", + "width": 1.2 + } + }, + "preload": { + "expected_factor_ratio": 0.5, + "observed_factor_ratio": 0.4995690669085592, + "pass": true, + "relative_error": 0.0008618661828816432, + "result": { + "analytical_factor": 7.71062843835106, + "analytical_pcr": 15.42125687670212, + "analytical_relative_error": 0.3942727751036648, + "configuration": "cantilever", + "counts": [ + 4, + 4, + 4 + ], + "critical_bracket": { + "lower": 10.75067138671875, + "relative_width": 5.677302146020211e-06, + "upper": 10.750732421875 + }, + "critical_factor": 10.75071931053297, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 64, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "657104f1888ed4d9349d46bcb7dd7c9401481cb1879aec75d6a1b501ccb876a3", + "length": 4.0, + "load_total": 2.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 5.737707840964777e-13, + "free_dof_count": 300, + "geometric_stiffness_eigenvalue_max": 0.15602476105548674, + "geometric_stiffness_eigenvalue_min": -0.38447036247365546, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 6591, + "initial_tangent_nnz": 19173, + "preload_relative_residual": 1.4301381951829807e-11 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999216500276725, + "shape_relative_rmse_selected": 0.008851551972771786, + "uy_mac": 1.149780940661248e-22, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999216500276725, + "uz_shape_relative_rmse": 0.008851551972771786, + "weak_axis_expected": "UZ" + }, + "mode_norm": 1.0, + "node_count": 125, + "solver_reported_residual_relative": 3.3442041779370307e-13, + "status": "PASS", + "width": 1.2 + } + }, + "reference_input": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "scale": { + "expected_factor_ratio": 0.25, + "observed_factor_ratio": 0.2519224468594345, + "pass": true, + "relative_error": 0.0076897874377379605, + "result": { + "analytical_factor": 3.85531421917553, + "analytical_pcr": 3.85531421917553, + "analytical_relative_error": 0.4062063981151243, + "configuration": "cantilever", + "counts": [ + 8, + 4, + 4 + ], + "critical_bracket": { + "lower": 5.421356201171875, + "relative_width": 5.6291092497523194e-06, + "upper": 5.42138671875 + }, + "critical_factor": 5.421367521748845, + "eigen_formulation": "generalized_eigs_shift_invert", + "element_count": 128, + "expected_passes": { + "analytical_factor": false, + "analytical_mode": true, + "bracket": true, + "eigen_residual": true, + "kg_sign": true, + "kg_symmetry": true, + "preload": true + }, + "height": 1.0, + "input_sha256": "e256341883a8e06b059aff4757a13df3d4d0d28a735ffb149965ddffca30133a", + "length": 8.0, + "load_total": 1.0, + "matrix_diagnostics": { + "compression_sign_detected": true, + "eigen_residual_relative_recomputed": 6.961816500148765e-12, + "free_dof_count": 600, + "geometric_stiffness_eigenvalue_max": 0.07741841798456983, + "geometric_stiffness_eigenvalue_min": -0.20818927887743632, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_tangent_nnz": 12675, + "initial_tangent_nnz": 36957, + "preload_relative_residual": 1.0736536039999318e-12 + }, + "mode_match": { + "dominant_lateral_direction": "UZ", + "mac_selected": 0.9999770718721636, + "shape_relative_rmse_selected": 0.004788332469287177, + "uy_mac": 7.493258248159424e-19, + "uy_shape_relative_rmse": 1.0, + "uz_mac": 0.9999770718721636, + "uz_shape_relative_rmse": 0.004788332469287177, + "weak_axis_expected": "UZ" + }, + "mode_norm": 0.9999999999999999, + "node_count": 225, + "solver_reported_residual_relative": 4.2102113204678597e-13, + "status": "PASS", + "width": 1.2 + } + }, + "singular_boundary": { + "explicit_failure": true, + "result": { + "configuration": "cantilever", + "counts": [ + 1, + 1, + 1 + ], + "element_count": 1, + "failure_message": "Full Newton line search failed to reduce the residual.", + "failure_type": "NumericalConvergenceError", + "height": 1.0, + "input_sha256": "0e84543730b22e69281011df5794967a4fbd6c5c728d0238f889fcd277e88dd8", + "length": 4.0, + "load_total": 1.0, + "node_count": 8, + "status": "EXPECTED_FAILURE", + "width": 1.2 + } + }, + "status": "PASS" + }, + "root_cause_audit": { + "euler_factor": { + "classification": "MODEL_SCOPE_LIMITATION", + "finding": "The Euler formula, units, weak-axis inertia and factor conversion are internally correct. The cantilever discrepancy is consistent with fully integrated low-order HEX8 bending/section discretization. The pinned-pinned test leaves all but one UX degree of freedom on the x=0 plane free and returns a predominantly axial/warping first solid mode; that boundary/model is not equivalent to a pure Euler pinned column.", + "numerical_bug": false, + "oracle_problem": true + }, + "external_oracle": { + "classification": "MODEL_SCOPE_LIMITATION", + "finding": "The current Docker/CalculiX service is unavailable. No external result is invented. The historical C3D8 record remains historical only; Code_Aster remains NOT_COMPARABLE under the frozen comparability rule.", + "numerical_bug": false + }, + "invalid_orientation": { + "classification": "TEST_ORACLE_PROBLEM", + "finding": "Reversing all eight connectivity entries is an orientation-preserving HEX8 permutation and correctly keeps detJ positive. A true mirrored x-orientation is required to exercise rejection.", + "geometry_validation_gap": false, + "numerical_bug": false + }, + "mesh_convergence": { + "classification": "MODEL_SCOPE_LIMITATION", + "finding": "The declared factors are genuine generalized eigenvalues, but the selected low-order HEX8 first mode is affected by section discretization, aspect ratio and the pinned boundary constraint. The non-monotone sequence is not to be disguised as convergence.", + "numerical_bug": false, + "oracle_problem": true + }, + "replay_determinism": { + "classification": "SOLVER_NONDETERMINISM", + "eigenpair_canonicalization_required": false, + "finding": "The two complete runs retained identical critical factors and physical mode metrics to roundoff, while ARPACK/BLAS start and reduction paths changed residual and diagnostic floating-point tails. The existing sign canonicalization was not the cause and no physical eigenpair change was observed.", + "numerical_bug": true + } + }, + "schema_version": 1, + "source_sha": "be8fbd99d8a3d3b8e4ee3b8d867842389b063061", + "status": "CAMPAIGN_COMPLETE_NO_PROMOTION", + "technical_decision": "NOT_QUALIFIED", + "work_package": "WP06B" +} diff --git a/qualification/0_2_8/wp06b_maturity_matrix.json b/qualification/0_2_8/wp06b_maturity_matrix.json new file mode 100644 index 00000000..0652a923 --- /dev/null +++ b/qualification/0_2_8/wp06b_maturity_matrix.json @@ -0,0 +1,80 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP06B-MATURITY-DELTA", + "work_package": "WP06B", + "applicable_version": "0.2.8-development", + "parent_matrix": "qualification/0_2_8/wp06_maturity_matrix.json", + "evidence_record": "qualification/0_2_8/wp06b_hex8_buckling_vnv.json", + "contract_record": "qualification/0_2_8/wp06b_hex8_buckling_contract.json", + "baseline_sha": "be8fbd99d8a3d3b8e4ee3b8d867842389b063061", + "status": "TECHNICAL_REMEDIATION_COMPLETE_NO_PROMOTION", + "summary": { + "QUALIFIED_BOUNDED": 0, + "EXPERIMENTAL": 0, + "NOT_QUALIFIED": 1, + "public_maturity_relabels_applied": 0, + "global_state_after_wp06b": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "TOTAL": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + }, + "registry_counts_consistent": true + }, + "decision": { + "source_record": "COMB-HEX8-linear_buckling", + "wp06_technical_decision": "NOT_QUALIFIED", + "wp06b_technical_decision": "NOT_QUALIFIED", + "public_maturity": "NOT_QUALIFIED", + "promotion_applied": false, + "gates_after_remediation": { + "euler_oracle": "FAIL", + "mesh_refinement": "FAIL", + "invalid_geometry": "PASS", + "replay_determinism": "PASS", + "mode_residuals": "PASS", + "mode_matching": "PASS", + "robustness": "PASS", + "external_oracle": "SKIPPED_EXTERNAL_UNAVAILABLE" + }, + "remaining_blockers": [ + "The cantilever factor errors remain 1.719602, 0.395475 and 0.158458 at the declared levels; the 0.10 gate is not met.", + "The pinned-pinned-lateral factor errors remain 0.815744, 0.201651 and 0.542572; the 0.10 gate is not met.", + "The final adjacent refinement changes remain 0.204597 and 0.745298, above the frozen 0.01 gate.", + "The pinned-pinned-lateral boundary/oracle pair is not an equivalent pure Euler pinned-column model, and no scope rewrite is authorized in WP06B.", + "Current CalculiX execution remains unavailable; no external result is claimed." + ] + }, + "root_cause_disposition": { + "euler_factor": "MODEL_SCOPE_LIMITATION", + "mesh_convergence": "MODEL_SCOPE_LIMITATION", + "invalid_orientation": "TEST_ORACLE_PROBLEM_CORRECTED", + "replay_determinism": "SOLVER_NONDETERMINISM_CORRECTED_WITH_FIXED_ARPACK_START", + "external_oracle": "MODEL_SCOPE_LIMITATION" + }, + "fixes": { + "deterministic_arpack_start": { + "applied": true, + "path": "src/solveur/core/analyses/buckling.py", + "formulation_changed": false, + "tolerance_changed": false, + "regression_test": "tests/verification/test_028_wp06b_hex8_buckling.py" + }, + "invalid_orientation_case": { + "applied": true, + "path": "scripts/run_wp06_hex8_buckling.py", + "validator_changed": false, + "regression_test": "tests/verification/test_028_wp06b_hex8_buckling.py" + } + }, + "registry_integrity": { + "source_registry_0_2_7_unchanged": true, + "wp06_evidence_unchanged": true, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed_intentionally": true, + "wedge6_static_distinct_from_hex8_buckling": true, + "owner_gate_applied": false, + "total_combinations": 46 + } +} diff --git a/qualification/0_2_8/wp07_mixed_static_contract.json b/qualification/0_2_8/wp07_mixed_static_contract.json new file mode 100644 index 00000000..d2012c7e --- /dev/null +++ b/qualification/0_2_8/wp07_mixed_static_contract.json @@ -0,0 +1,106 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP07-MIXED-STATIC-CONTRACT", + "work_package": "WP07", + "applicable_version": "0.2.8-development", + "baseline_sha": "d7501fd144daf11a5f51eae5c04d664ebbcdc763", + "status": "PREDECLARED_CAMPAIGN_CONTRACT", + "parent_records": [ + "qualification/0_2_8/wp01_maturity_matrix.json", + "qualification/0_2_8/wp06b_maturity_matrix.json" + ], + "objective": "Audit and test one conforming mixed linear-static workflow using TET4, WEDGE6 and HEX8 without changing the numerical formulation.", + "subsystem_classification": { + "ElementRegistry": "ALREADY_IMPLEMENTED", + "AssemblyPlan_GlobalAssembler": "ALREADY_IMPLEMENTED", + "Gmsh_importer": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "materials": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "DOF_mapping": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "loads": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "boundary_conditions": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "reactions": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "stress_strain_recovery": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "results_export": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "diagnostics": "PARTIAL_NEEDS_FIX", + "mixed_interface_validation": "NEEDS_FIX" + }, + "missing_components": [], + "scope": { + "analysis": "linear_static", + "families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node triangular and quadrilateral faces only", + "topologies": [ + "TET4-WEDGE6 triangular interface", + "WEDGE6-HEX8 quadrilateral interface", + "TET4-WEDGE6-HEX8 conforming chain" + ], + "kinematics": "small-strain linear elasticity", + "material": "homogeneous isotropic_3d for the qualification candidate", + "loads": "nodal, body-force, pressure and global surface traction on tested supported faces", + "excluded": [ + "TET10", + "HEX20", + "PYRAMID5", + "hanging nodes", + "MPC/RBE", + "nonconforming interfaces", + "modal", + "Newmark", + "harmonic", + "nonlinear", + "buckling", + "contact", + "large mixed models" + ] + }, + "tolerance_policy": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "values": { + "matrix_symmetry_relative": 1.0e-12, + "affine_displacement_absolute": 1.0e-10, + "affine_strain_absolute": 1.0e-10, + "affine_stress_relative": 1.0e-10, + "free_residual_relative": 1.0e-10, + "force_balance_relative": 1.0e-10, + "moment_balance_relative": 1.0e-10, + "energy_identity_relative": 1.0e-10, + "interface_displacement_absolute": 1.0e-14, + "interface_force_relative": 1.0e-10, + "convergence_affine_absolute": 1.0e-10, + "load_resultant_relative": 1.0e-10 + } + }, + "gates": [ + "element registry and one global assembly matrix", + "affine displacement, strain, stress and energy identity", + "pairwise and three-family interface displacement continuity", + "interface force equilibrium", + "symmetry, DOF uniqueness, rank and six rigid-body modes before constraints", + "nodal, body-force, pressure and surface-traction resultant conservation", + "reactions, force balance, moment balance and post-processing/export", + "three-level conforming-chain refinement", + "Gmsh mixed import and solve", + "explicit rejection of unsupported, invalid and nonconforming inputs", + "two deterministic replays" + ], + "oracle": { + "primary": "exact affine manufactured displacement field u_x = alpha*x with equivalent assembled loads", + "coverage": "assembly, interface, load, recovery and equilibrium contract for the declared topology", + "external": "NOT_AVAILABLE", + "external_policy": "No Code_Aster or other external mixed-family correlation is claimed without comparable geometry, interfaces, material, loads and observables." + }, + "failure_contract": { + "unsupported_family": "explicit validation failure", + "invalid_connectivity_or_geometry": "explicit validation failure", + "duplicate_or_nonconforming_interface": "explicit validation failure", + "mpc_rbe_or_hanging_node": "outside scope and explicit validation failure" + }, + "historical_integrity": { + "source_registry_0_2_7_read_only": true, + "evidence_0_2_7_read_only": true, + "prior_wp01_wp06b_records_read_only": true, + "public_maturity_relabel_applied": false, + "owner_gate_required": true + } +} diff --git a/qualification/0_2_8/wp07_mixed_static_matrix.json b/qualification/0_2_8/wp07_mixed_static_matrix.json new file mode 100644 index 00000000..e5130be7 --- /dev/null +++ b/qualification/0_2_8/wp07_mixed_static_matrix.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP07-MIXED-STATIC-MATRIX", + "work_package": "WP07", + "applicable_version": "0.2.8-development", + "parent_matrix": "qualification/0_2_8/wp06b_maturity_matrix.json", + "contract_record": "qualification/0_2_8/wp07_mixed_static_contract.json", + "evidence_record": "qualification/0_2_8/wp07_mixed_static_vnv.json", + "baseline_sha": "d7501fd144daf11a5f51eae5c04d664ebbcdc763", + "status": "OWNER_APPROVED_WITH_LIMITATIONS", + "owner_gate_record": "qualification/0_2_8/wp07_owner_gate_final.json", + "public_maturity_policy": "The Owner gate approves only the separate mixed-workflow record with limitations. The 46 element-analysis combination records are not changed by WP07.", + "summary": { + "technical_candidates_added": 1, + "public_maturity_relabels_applied": 0, + "global_state_after_wp07": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "TOTAL": 46, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + }, + "registry_counts_consistent": true + }, + "mixed_candidate": { + "id": "CAND-MIXED-TET4-WEDGE6-HEX8-linear_static", + "technical_decision": "QUALIFIED_BOUNDED_CANDIDATE", + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "final_status": "QUALIFIED_BOUNDED", + "owner_gate": "CLOSED", + "scope": "linear_static, small-strain isotropic elasticity, homogeneous candidate material, conforming shared-node TET4/WEDGE6/HEX8 interfaces and tested load routes only", + "limitations": [ + "No modal, dynamic, nonlinear, buckling or contact qualification.", + "No TET10, HEX20, PYRAMID5, hanging-node, MPC/RBE or nonconforming-interface qualification.", + "No universal mixed-mesh or arbitrary-distortion claim.", + "No external solver correlation is claimed in WP07.", + "Refinement evidence demonstrates affine consistency only; it is not a general accuracy-convergence claim." + ] + }, + "mixed_workflow_qualification": { + "record_kind": "mixed_workflow_qualification", + "id": "MIXED-TET4-WEDGE6-HEX8-linear_static-conforming", + "status": "QUALIFIED_BOUNDED", + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "element_analysis_registry": "qualification/0_2_7/capability_registry_v2.json", + "element_analysis_registry_total": 46, + "not_added_to_element_analysis_registry": true, + "scope_note": "This status qualifies the tested mixed workflow contract, not a new element/analyse combination and not arbitrary mixed-mesh accuracy." + }, + "registry_integrity": { + "source_registry_0_2_7_unchanged": true, + "historical_0_2_7_evidence_changed": false, + "prior_wp01_wp06b_records_changed": false, + "numerical_source_changed": false, + "total_combinations": 46, + "wedge6_static_distinct": true, + "hex8_buckling_not_qualified_unchanged": true + } +} diff --git a/qualification/0_2_8/wp07_mixed_static_vnv.json b/qualification/0_2_8/wp07_mixed_static_vnv.json new file mode 100644 index 00000000..da359f1d --- /dev/null +++ b/qualification/0_2_8/wp07_mixed_static_vnv.json @@ -0,0 +1,503 @@ +{ + "applicable_version": "0.2.8-development", + "baseline_sha": "d7501fd144daf11a5f51eae5c04d664ebbcdc763", + "checks": { + "affine_patch": { + "primary": { + "displacement_max_abs_error": 4.235164736271502e-22, + "element_result_count": 3, + "element_result_types": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "energy_identity_relative": 5.551115123125783e-17, + "force_balance_relative": 3.7478747353235883e-16, + "free_residual_relative": 1.2230794959180354e-16, + "moment_balance_relative": 5.157506033058889e-16, + "strain_max_abs_error": 2.117582368135751e-22, + "stress_max_relative_error": 2.1626667949054482e-16 + }, + "status": "PASS" + }, + "convergence": { + "affine_errors": [ + 4.235164736271502e-22, + 4.235164736271502e-22, + 6.352747104407253e-22 + ], + "levels": [ + { + "affine": { + "displacement_max_abs_error": 4.235164736271502e-22, + "element_result_count": 3, + "element_result_types": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "energy_identity_relative": 5.551115123125783e-17, + "force_balance_relative": 3.7478747353235883e-16, + "free_residual_relative": 1.2230794959180354e-16, + "moment_balance_relative": 5.157506033058889e-16, + "strain_max_abs_error": 2.117582368135751e-22, + "stress_max_relative_error": 2.1626667949054482e-16 + }, + "assembly": { + "deterministic_matrix_digest": "cb05f396211d11e5b1f1e32765f60d4e118ca7d9be904b0e1b149dadfc3f6c23", + "duplicate_element_dofs": false, + "expected_rigid_body_modes": 6, + "ndof": 33, + "nnz": 763, + "observed_rigid_body_modes": 6, + "rank": 27, + "symmetry_relative": 7.93298255271809e-18 + }, + "element_count": 3, + "input_digest": "c9cc75e4ff609edb80ac14461c94444ba87ac4ddc22eae59c9b9ac012958aab1", + "interfaces": { + "displacement_continuity_max": 0.0, + "interface_count": 2, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "interface_force_equilibrium_max_relative": 2.908642809035571e-16 + }, + "node_count": 11, + "pass": true, + "segments": 1, + "status": "PASS" + }, + { + "affine": { + "displacement_max_abs_error": 4.235164736271502e-22, + "element_result_count": 5, + "element_result_types": [ + "TET4", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8" + ], + "energy_identity_relative": 5.551115123125783e-17, + "force_balance_relative": 5.621281818392118e-17, + "free_residual_relative": 2.6320962340176387e-16, + "moment_balance_relative": 2.8553837557595624e-17, + "strain_max_abs_error": 6.352747104407253e-22, + "stress_max_relative_error": 5.488047924071121e-16 + }, + "assembly": { + "deterministic_matrix_digest": "b7ed5dd5e20e4cd6faecc126a366aed83a63bcdbeda02482df16cfe285d488bb", + "duplicate_element_dofs": false, + "expected_rigid_body_modes": 6, + "ndof": 48, + "nnz": 1286, + "observed_rigid_body_modes": 6, + "rank": 42, + "symmetry_relative": 6.140390206056716e-18 + }, + "element_count": 5, + "input_digest": "10ae5a96eab53ccc74163efa28ebe8e3c90e9cba2096cd3105d7a61d3c94246b", + "interfaces": { + "displacement_continuity_max": 0.0, + "interface_count": 3, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "interface_force_equilibrium_max_relative": 3.1437528249620253e-16 + }, + "node_count": 16, + "pass": true, + "segments": 2, + "status": "PASS" + }, + { + "affine": { + "displacement_max_abs_error": 6.352747104407253e-22, + "element_result_count": 9, + "element_result_types": [ + "TET4", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8" + ], + "energy_identity_relative": 1.1102230246251565e-16, + "force_balance_relative": 8.118977711484027e-17, + "free_residual_relative": 3.066580627076491e-16, + "moment_balance_relative": 1.7132302534557375e-16, + "strain_max_abs_error": 3.5293039468929173e-22, + "stress_max_relative_error": 2.9868876920896115e-16 + }, + "assembly": { + "deterministic_matrix_digest": "a7dc24f71b6f3721c41db430223226606ea8403271ff1751f23254271d58b4c1", + "duplicate_element_dofs": false, + "expected_rigid_body_modes": 6, + "ndof": 78, + "nnz": 2396, + "observed_rigid_body_modes": 6, + "rank": 72, + "symmetry_relative": 1.883749349724476e-17 + }, + "element_count": 9, + "input_digest": "e562195efa06fc4f10fe079eddce30b7aba8b2ef69219b91074b8ddb51e48259", + "interfaces": { + "displacement_continuity_max": 0.0, + "interface_count": 5, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "interface_force_equilibrium_max_relative": 3.453895525109497e-16 + }, + "node_count": 26, + "pass": true, + "segments": 4, + "status": "PASS" + } + ], + "status": "PASS" + }, + "failure_contract": { + "cases": { + "invalid_connectivity": { + "errors": [ + "Element 1: repeated node in connectivity.", + "Mixed linear_static model has no conforming shared-face interface between its solid families." + ], + "status": "PASS", + "validator_status": "FAIL" + }, + "invalid_geometry": { + "errors": [ + "Element 0: invalid TET4 signed corner volume -1.666667e-01." + ], + "status": "PASS", + "validator_status": "FAIL" + }, + "nonconforming_interface": { + "errors": [ + "Model contains exact duplicate nodes.", + "Mixed linear_static nonconforming interface rejected: coincident faces from different families do not share the same node identities.", + "Mixed linear_static nonconforming interface rejected: coincident faces from different families do not share the same node identities.", + "Mixed linear_static model has no conforming shared-face interface between its solid families." + ], + "status": "PASS", + "validator_status": "FAIL" + }, + "unknown_family": { + "errors": [ + "Element 3: Unsupported element type 'PYRAMID5'.", + "Mixed linear_static scope supports only TET4/WEDGE6/HEX8 solid families; received HEX8, PYRAMID5, TET4, WEDGE6." + ], + "status": "PASS", + "validator_status": "FAIL" + } + }, + "status": "PASS" + }, + "global_assembly": { + "primary": { + "deterministic_matrix_digest": "cb05f396211d11e5b1f1e32765f60d4e118ca7d9be904b0e1b149dadfc3f6c23", + "duplicate_element_dofs": false, + "expected_rigid_body_modes": 6, + "ndof": 33, + "nnz": 763, + "observed_rigid_body_modes": 6, + "rank": 27, + "symmetry_relative": 7.93298255271809e-18 + }, + "status": "PASS" + }, + "gmsh_import": { + "action_counts": { + "elements": 3, + "fixed_dofs": 7, + "nodal_load": 4 + }, + "element_count": 3, + "element_family": "HEX8+TET4+WEDGE6", + "mesh_status": "PASS", + "node_count": 11, + "solve_status": "PASS", + "status": "PASS" + }, + "interface_continuity": { + "primary": { + "displacement_continuity_max": 0.0, + "interface_count": 2, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "interface_force_equilibrium_max_relative": 2.908642809035571e-16 + }, + "status": "PASS" + }, + "interface_equilibrium": { + "primary": { + "displacement_continuity_max": 0.0, + "interface_count": 2, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "interface_force_equilibrium_max_relative": 2.908642809035571e-16 + }, + "status": "PASS" + }, + "loads": { + "observed": { + "body_force_relative_error": 0.0, + "body_force_resultant": [ + 0.0, + 0.0, + -3.333333333333333 + ], + "maximum_surface_load_relative_error": 2.220446049250313e-16, + "pressure_faces": [ + { + "element": 0, + "face": 0, + "family": "TET4", + "relative_error": 0.0, + "resultant": [ + -1.0, + -1.0, + 1.0 + ] + }, + { + "element": 1, + "face": 1, + "family": "WEDGE6", + "relative_error": 0.0, + "resultant": [ + 0.0, + 0.0, + -1.0 + ] + }, + { + "element": 2, + "face": 1, + "family": "HEX8", + "relative_error": 2.7755575615628914e-17, + "resultant": [ + 0.0, + -5.551115123125783e-17, + -2.0 + ] + } + ], + "traction_faces": [ + { + "element": 0, + "face": 0, + "family": "TET4", + "relative_error": 0.0, + "resultant": [ + 1.299038105676658, + -0.4330127018922193, + 0.21650635094610965 + ] + }, + { + "element": 1, + "face": 1, + "family": "WEDGE6", + "relative_error": 2.220446049250313e-16, + "resultant": [ + 0.7500000000000002, + -0.25, + 0.125 + ] + }, + { + "element": 2, + "face": 1, + "family": "HEX8", + "relative_error": 0.0, + "resultant": [ + 1.5, + -0.5, + 0.25 + ] + } + ] + }, + "status": "PASS" + }, + "materials": { + "element_types": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "finite_displacements": true, + "scope": "smoke only; heterogeneous materials remain outside the candidate qualification scope", + "status": "PASS" + }, + "mixed_architecture": { + "assembly_plan_global_assembler": "ALREADY_IMPLEMENTED", + "boundary_conditions": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "diagnostics": "PARTIAL_NEEDS_FIX", + "dof_mapping": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "element_registry": "ALREADY_IMPLEMENTED", + "gmsh_importer": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "loads": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "materials": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "mixed_interface_contract": "FIXED_AND_TESTED", + "reactions": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "results_export": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "status": "PASS", + "stress_strain_recovery": "ALREADY_IMPLEMENTED_NEEDS_VNV" + }, + "pairwise": { + "TET4_WEDGE6": "PASS", + "TET4_WEDGE6_HEX8": "PASS", + "WEDGE6_HEX8": "PASS", + "status": "PASS" + }, + "post_processing_export": { + "export": { + "json": true, + "vtu": true + }, + "post_processing": { + "families": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "finite": true, + "status": "PASS" + }, + "status": "PASS" + }, + "reactions_equilibrium": { + "status": "PASS" + } + }, + "external_oracle": { + "decision": "Analytical affine manufactured-solution oracle is sufficient for this narrow candidate; no external correlation is claimed.", + "status": "NOT_AVAILABLE" + }, + "fixes_applied": [ + "Added explicit mixed linear-static conforming-interface validation and failure diagnostics." + ], + "historical_0_2_7_evidence_changed": false, + "limitations": [ + "This is a technical candidate only; no public maturity promotion is applied.", + "The analytical oracle is an exact affine manufactured solution, not a general industrial benchmark.", + "External Code_Aster/CalculiX mixed-family correlation is not claimed in this WP.", + "Qualification is limited to the tested conforming topology and declared linear-static load contracts." + ], + "numerical_source_changed": false, + "owner_gate_required": true, + "predeclared_tolerances": { + "affine_displacement_absolute": 1e-10, + "affine_strain_absolute": 1e-10, + "affine_stress_relative": 1e-10, + "convergence_affine_absolute": 1e-10, + "energy_identity_relative": 1e-10, + "force_balance_relative": 1e-10, + "free_residual_relative": 1e-10, + "interface_displacement_absolute": 1e-14, + "interface_force_relative": 1e-10, + "load_resultant_relative": 1e-10, + "matrix_symmetry_relative": 1e-12, + "moment_balance_relative": 1e-10 + }, + "record_id": "QF-028-WP07-MIXED-STATIC-VNV", + "replays": { + "deterministic": true, + "digests": [ + "ebd6db368d3f6c21242e741cf77c92a953d386d78c4ac8d8425f99f14a9acddd", + "ebd6db368d3f6c21242e741cf77c92a953d386d78c4ac8d8425f99f14a9acddd" + ], + "required": 2 + }, + "schema_version": 1, + "scope": { + "analysis": "linear_static", + "excluded": [ + "TET10", + "HEX20", + "PYRAMID5", + "hanging nodes", + "MPC/RBE", + "modal", + "dynamic", + "nonlinear", + "buckling", + "contact", + "large mixed models" + ], + "families": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "interfaces": "conforming shared-node triangular and quadrilateral faces only", + "kinematics": "small-strain linear elasticity", + "loads": "nodal, body-force, pressure and global surface traction on tested supported faces", + "material": "homogeneous isotropic_3d for the qualification candidate" + }, + "source_sha": "d7501fd144daf11a5f51eae5c04d664ebbcdc763", + "status": "CAMPAIGN_COMPLETE_OWNER_GATE_PENDING", + "technical_decision": "QUALIFIED_BOUNDED_CANDIDATE", + "work_package": "WP07" +} diff --git a/qualification/0_2_8/wp07_owner_gate_final.json b/qualification/0_2_8/wp07_owner_gate_final.json new file mode 100644 index 00000000..448229c8 --- /dev/null +++ b/qualification/0_2_8/wp07_owner_gate_final.json @@ -0,0 +1,109 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP07-OWNER-GATE-FINAL", + "work_package": "WP07", + "applicable_version": "0.2.8-development", + "audited_commit": "da310e8f3708c46d0a69a2980a2f47c4c7e9f4aa", + "status": "CLOSED_WITH_APPROVE_WITH_LIMITATIONS", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "technical_evidence": [ + { + "path": "qualification/0_2_8/wp07_mixed_static_contract.json", + "sha256": "c6537ea74c7fec4992a731485f41edbb9fb20e730698354b33c44eb4487380f1" + }, + { + "path": "qualification/0_2_8/wp07_mixed_static_vnv.json", + "sha256": "5c0753ef4dd959d3d69cb4fb3b4c0614237ed3c594818645d28bbdd2b4ac07f3" + }, + { + "path": "qualification/0_2_8/wp07_mixed_static_matrix.json", + "sha256": "de186a0215fed749af52a6dde95657c1d1e8296124c306cfb7ad081449dbbd17" + }, + { + "path": "docs/verification/0_2_8/wp07_mixed_static_vnv.md", + "sha256": "122fb15c6b54b2da8c55c00770a58dd193ef32db03f81b88315142dc9d4efad9" + } + ], + "audit_checks": { + "predeclared_scope": "PASS", + "mixed_interfaces": "PASS", + "affine_exactness": "PASS", + "oracle_independence_and_validity": "PASS_WITH_LIMITATIONS", + "convergence": "PASS_WITH_LIMITATIONS", + "loads_reactions_energy": "PASS", + "post_processing": "PASS_WITH_LIMITATIONS", + "failure_contract": "PASS", + "deterministic_replays": "PASS", + "claim_evidence_coherence": "PASS_WITH_LIMITATIONS", + "opportunistic_numerical_core_change": "NOT_FOUND", + "historical_0_2_7_evidence_integrity": "PASS", + "element_analysis_registry_reconciliation": "PASS" + }, + "decision_policy": "APPROVE_WITH_LIMITATIONS applies only to the dedicated mixed_workflow_qualification record. It does not add a combination to the 46 element-analysis records and does not establish general mixed-mesh accuracy.", + "decision": { + "TET4_WEDGE6": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "resulting_status": "QUALIFIED_BOUNDED" + }, + "WEDGE6_HEX8": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "resulting_status": "QUALIFIED_BOUNDED" + }, + "TET4_WEDGE6_HEX8": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "resulting_status": "QUALIFIED_BOUNDED" + }, + "mixed_static_final_status": "QUALIFIED_BOUNDED", + "scope": "linear_static only; TET4, WEDGE6 and HEX8; conforming shared-node triangular and quadrilateral interfaces; small-strain homogeneous isotropic elasticity; valid element geometries; and the nodal, body-force, pressure and surface-traction routes actually exercised by WP07.", + "analytical_oracle_sufficient": true, + "external_correlation_required_for_scope": false, + "external_oracle_decision": "LIMITATION_COMPATIBLE_WITH_BOUNDED_WORKFLOW_SCOPE", + "limitations": [ + "The affine manufactured solution with equivalent K*u loads is sufficient for the declared assembly/interface/load consistency contract, but is not an independent general mechanical benchmark.", + "The refinement sequence demonstrates affine consistency only; it is not a general accuracy-convergence claim.", + "No external Code_Aster/CalculiX mixed-family correlation is claimed.", + "No modal, Newmark, harmonic, nonlinear, contact, hanging-node, MPC, nonconforming-interface, TET10/HEX20, PYRAMID5 or large-model claim is made." + ] + }, + "registry_separation": { + "element_analysis_registry": "qualification/0_2_7/capability_registry_v2.json", + "element_analysis_registry_total": 46, + "source_counts": { + "QUALIFIED_BOUNDED": 20, + "EXPERIMENTAL": 25, + "NOT_QUALIFIED": 1 + }, + "final_element_analysis_counts_after_wp06b": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "TOTAL": 46 + }, + "mixed_workflow_record": "qualification/0_2_8/wp07_mixed_static_matrix.json", + "mixed_workflow_record_kind": "mixed_workflow_qualification", + "mixed_workflow_added_to_combination_registry": false, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + }, + "integrity": { + "claims_bounded": true, + "numerical_source_changed": false, + "historical_0_2_7_evidence_changed": false, + "wp07_campaign_evidence_rewritten": false, + "owner_decision_applied_only_to_0_2_8": true + }, + "final_matrix": "qualification/0_2_8/wp07_mixed_static_matrix.json", + "documentation": "docs/verification/0_2_8/wp07_owner_gate_final.md", + "summary": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "mixed_workflow_status": "QUALIFIED_BOUNDED", + "element_analysis_registry_total": 46, + "qualified_bounded_global": 32, + "experimental_global": 13, + "not_qualified_global": 1, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + } +} diff --git a/qualification/0_2_8/wp08_mixed_modal_contract.json b/qualification/0_2_8/wp08_mixed_modal_contract.json new file mode 100644 index 00000000..e9085cd1 --- /dev/null +++ b/qualification/0_2_8/wp08_mixed_modal_contract.json @@ -0,0 +1,102 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP08-MIXED-MODAL-CONTRACT", + "work_package": "WP08", + "applicable_version": "0.2.8-development", + "baseline_sha": "65c816fee4a1497dd320358565a297c01bfcaff5", + "status": "PREDECLARED_CAMPAIGN_CONTRACT", + "parent_records": [ + "qualification/0_2_8/wp07_owner_gate_final.json", + "qualification/0_2_8/wp07_mixed_static_matrix.json" + ], + "objective": "Audit and test one bounded mixed modal workflow using TET4, WEDGE6 and HEX8 without changing numerical kernels or extending the WP07 static claim automatically.", + "subsystem_audit": { + "mixed_mass_assembly": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "consistent_mass": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "lumped_mass": "OUT_OF_SCOPE_NOT_SUPPORTED_FOR_FINITE_ELEMENT_MODAL_ROUTE", + "DOF_mapping": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "modal_route": "ALREADY_IMPLEMENTED_NEEDS_VNV", + "mixed_modal_interface_validation": "NEEDS_FIX", + "WEDGE6_modal_scope": "EXPERIMENTAL_PREVIOUSLY_NOT_QUALIFIED", + "post_processing_and_output": "ALREADY_IMPLEMENTED_NEEDS_VNV" + }, + "scope": { + "analysis": "modal", + "families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node triangular and quadrilateral faces only", + "kinematics": "small-strain linear isotropic elasticity", + "mass": "consistent translational finite-element mass only", + "boundary_conditions": "fixed-base cases used to remove rigid-body modes", + "modes": "first six positive modes in the explicitly tested cases", + "material": "homogeneous isotropic_3d with positive density", + "excluded": [ + "lumped finite-element mass", + "concentrated-mass qualification", + "Newmark", + "harmonic", + "nonlinear", + "contact", + "hanging nodes", + "MPC/RBE transitions", + "nonconforming interfaces", + "TET10/HEX20 mixed", + "PYRAMID5", + "large mixed performance", + "universal all-frequency modal claim" + ] + }, + "cases": { + "pairwise": [ + "TET4-WEDGE6", + "WEDGE6-HEX8" + ], + "three_family": "TET4-WEDGE6-HEX8", + "pure_comparison": ["TET4", "WEDGE6", "HEX8"], + "refinement_segments": [1, 2, 4] + }, + "oracle": { + "mass": "analytical total mass rho*sum(volume) and translational mass conservation", + "modal": "independent dense generalized eigensolve from separately assembled local K/M arrays", + "independence_boundary": "The dense oracle does not call the production ModalAnalysisSolver or GlobalAssembler matrix path; it reassembles local element matrices with an independent dense scatter and uses scipy.linalg.eigh.", + "external": "NOT_AVAILABLE_AND_NOT_REQUIRED_FOR_THIS_BOUNDED_CONTRACT", + "external_policy": "No external modal correlation is claimed without comparable mixed geometry, interfaces, material, boundary conditions and mode observables." + }, + "tolerance_policy": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "values": { + "mass_symmetry_relative": 1.0e-12, + "mass_total_relative": 1.0e-12, + "mass_direction_relative": 1.0e-12, + "mass_minimum_eigenvalue_relative": 1.0e-14, + "modal_residual_relative": 1.0e-8, + "modal_mass_orthogonality_relative": 1.0e-10, + "oracle_frequency_relative": 1.0e-9, + "oracle_mode_mac": 0.99999999, + "refinement_first_frequency_step_relative": 2.5e-1, + "refinement_mode_mac": 5.0e-1, + "replay_frequency_absolute": 1.0e-12, + "replay_mode_absolute_after_sign": 1.0e-10, + "interface_displacement_absolute": 1.0e-14 + } + }, + "gates": [ + "global consistent mass assembly for every pairwise and three-family case", + "mass symmetry, positive definiteness, density/volume conservation and DOF uniqueness", + "first six positive modal frequencies with residual and mass orthogonality checks", + "independent dense generalized-eigen oracle and MAC mode matching", + "pure-family versus mixed diagnostic comparison without equality claim", + "three-level mixed refinement with finite positive frequency trend and no monotonicity assumption", + "conforming interface continuity and no duplicated interface mass", + "invalid connectivity, geometry and nonconforming interface rejection", + "normalization, family labels, frequencies and mode output checks", + "two deterministic replays with sign canonicalization only" + ], + "historical_integrity": { + "source_registry_0_2_7_read_only": true, + "evidence_0_2_7_read_only": true, + "wp07_static_claim_read_only": true, + "public_maturity_relabel_applied": false, + "owner_gate_required": true + } +} diff --git a/qualification/0_2_8/wp08_mixed_modal_matrix.json b/qualification/0_2_8/wp08_mixed_modal_matrix.json new file mode 100644 index 00000000..dd1ca49d --- /dev/null +++ b/qualification/0_2_8/wp08_mixed_modal_matrix.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP08-MIXED-MODAL-MATRIX", + "work_package": "WP08", + "applicable_version": "0.2.8-development", + "parent_matrix": "qualification/0_2_8/wp07_mixed_static_matrix.json", + "contract_record": "qualification/0_2_8/wp08_mixed_modal_contract.json", + "evidence_record": "qualification/0_2_8/wp08_mixed_modal_vnv.json", + "baseline_sha": "65c816fee4a1497dd320358565a297c01bfcaff5", + "status": "TECHNICAL_COMPLETE_SUPPORTED_WITH_LIMITATIONS", + "public_maturity_policy": "WP08 applies no public maturity promotion. The mixed modal workflow remains supported only with the recorded limitations until a new, predeclared campaign closes the failed refinement mode-matching gate.", + "summary": { + "technical_decision": "SUPPORTED_WITH_LIMITATIONS", + "technical_candidates_added": 0, + "public_maturity_relabels_applied": 0, + "owner_gate_requested": false, + "mixed_workflow_registry_separate": true, + "element_analysis_registry_total": 46, + "element_analysis_registry_changed": false + }, + "mixed_candidate": { + "id": "CAND-MIXED-TET4-WEDGE6-HEX8-modal-consistent-mass", + "technical_decision": "SUPPORTED_WITH_LIMITATIONS", + "final_status": "SUPPORTED_WITH_LIMITATIONS", + "owner_gate": "NOT_REQUESTED", + "scope": "modal, fixed-base small-strain linear isotropic elasticity, homogeneous positive-density material, consistent translational finite-element mass, conforming shared-node triangular and quadrilateral interfaces, and the first six positive modes in the tested cases", + "limitations": [ + "The predeclared shared-node mode-matching gate fails on the 1-to-2 segment refinement transition; no general modal convergence claim is made.", + "The modal oracle is an independent dense local-matrix scatter with scipy.linalg.eigh, not an external industrial-solver correlation.", + "Lumped and concentrated mass, Newmark, harmonic, nonlinear, contact, nonconforming interfaces, TET10/HEX20, PYRAMID5 and large-model performance remain out of scope.", + "No modal stress claim is made." + ] + }, + "evidence_summary": { + "mixed_mass_assembly": "PASS", + "mass_conservation": "PASS", + "TET4_WEDGE6_modal": "PASS", + "WEDGE6_HEX8_modal": "PASS", + "TET4_WEDGE6_HEX8_modal": "PASS", + "pure_vs_mixed": "PASS", + "reference_oracle": "PASS_WITHOUT_EXTERNAL_CORRELATION", + "mesh_refinement": "FAIL_PREDECLARED_MODE_MATCHING_GATE", + "mode_residuals": "PASS", + "orthogonality": "PASS", + "mode_matching": "PASS_FOR_INDEPENDENT_PAIRWISE_ORACLE; REFINEMENT_GATE_LIMITED", + "interface_robustness": "PASS", + "replay_determinism": "PASS_2_REPLAYS", + "post_processing": "PASS" + }, + "registry_integrity": { + "source_registry_0_2_7_unchanged": true, + "historical_0_2_7_evidence_changed": false, + "prior_wp01_wp07_records_changed": false, + "numerical_source_changed": false, + "element_analysis_registry_total": 46, + "not_added_to_element_analysis_registry": true, + "mixed_workflow_record_kind": "mixed_workflow_qualification" + } +} diff --git a/qualification/0_2_8/wp08_mixed_modal_vnv.json b/qualification/0_2_8/wp08_mixed_modal_vnv.json new file mode 100644 index 00000000..1a633ddc --- /dev/null +++ b/qualification/0_2_8/wp08_mixed_modal_vnv.json @@ -0,0 +1,1535 @@ +{ + "applicable_version": "0.2.8-development", + "baseline_sha": "65c816fee4a1497dd320358565a297c01bfcaff5", + "bugs_fixed": [ + "Added the existing mixed conforming-interface contract to modal validation; no element or modal formulation changed." + ], + "bugs_found": [ + "Modal mixed-interface validation was not invoked for modal analysis before WP08." + ], + "failure_contract": { + "cases": { + "disconnected_families": { + "error": "Mesh validation failed: Mixed modal model has no conforming shared-face interface between its solid families.", + "status": "PASS" + }, + "invalid_connectivity": { + "error": "Mesh validation failed: Element 1: repeated node in connectivity.", + "status": "PASS" + }, + "invalid_orientation": { + "error": "Mesh validation failed: Element 0: invalid TET4 signed corner volume -1.666667e-01.", + "status": "PASS" + }, + "nonconforming_interface": { + "error": "Mesh validation failed: Model contains exact duplicate nodes.; Mixed modal nonconforming interface rejected: coincident faces from different families do not share the same node identities.; Mixed modal nonconforming interface rejected: coincident faces from different families do not share the same node identities.; Mixed modal model has no conforming shared-face interface between its solid families.", + "status": "PASS" + } + }, + "status": "PASS" + }, + "historical_0_2_7_evidence_changed": false, + "interface_robustness": { + "displacement_continuity_max": 0.0, + "duplicate_interface_dofs": false, + "interface_count": 2, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "mass_duplication_check": "covered by analytical total-mass conservation", + "shared_dof_sets_consistent": true, + "shared_node_count": 7, + "status": "PASS" + }, + "limitations": [ + "The pairwise and three-family modal checks pass, but the predeclared refinement mode-matching gate does not pass at every transition; the result remains SUPPORTED_WITH_LIMITATIONS and no public promotion is applied.", + "The dense reference independently reassembles local K/M and solves the generalized eigenproblem, but it is not an external industrial solver correlation.", + "Pure-versus-mixed comparison is a diagnostic envelope across the tested component subdomains; it is not an equality or universal discretization oracle.", + "Refinement covers first-frequency trend and shared-node mode matching for three levels; no universal modal convergence claim is made.", + "No modal stress claim is made." + ], + "mesh_refinement": { + "first_frequency_relative_changes": [ + 0.17019944393134467, + 0.1341121198737569 + ], + "interpretation": "finite positive frequency trend, but the predeclared shared-node mode-matching gate does not pass at every refinement transition; no convergence claim", + "levels": [ + { + "first_frequency_hz": 779.2970010584501, + "segments": 1 + }, + { + "first_frequency_hz": 665.9522913806574, + "segments": 2 + }, + { + "first_frequency_hz": 587.2014589305222, + "segments": 4 + } + ], + "monotonicity_claim": false, + "shared_node_mode_matching_minimum_mac": [ + 0.10276564845529834, + 0.7311931058062087 + ], + "status": "FAIL" + }, + "mixed_mass_assembly": { + "cases": { + "TET4_WEDGE6": { + "assembly": { + "accumulator_chunk_count": 1, + "accumulator_occupied_levels": 1, + "assembly_index_dtype": "int32", + "assembly_memory_budget_bytes": null, + "assembly_memory_budget_exceeded": false, + "assembly_peak_memory_estimate_bytes": 22464, + "assembly_phase_seconds": { + "assembly_plan": 0.00018799991812556982, + "chunk_fusion": 2.300017513334751e-06, + "chunk_sparse_conversion": 0.00023739994503557682, + "discrete_merge": 4.75000124424696e-05, + "element_kernel": 0.004242900060489774, + "sparse_finalize": 0.00015480001457035542 + }, + "assembly_plan_reused": false, + "chunk_count": 1, + "chunk_size": 256, + "coefficient_entry_count": 468, + "concentrated_mass_count": 0, + "element_count": 2, + "final_nnz": 129, + "matrix": "mass", + "paired_assembly": true, + "peak_chunk_entry_count": 468, + "shared_chunk_pattern": true, + "spring_count": 0 + }, + "direction_masses": { + "UX": 5200.0, + "UY": 5200.0, + "UZ": 5200.0 + }, + "dof_count": 21, + "expected_total_mass": 5200.0, + "formulation": "consistent_translational_finite_element_mass", + "independent_scatter_relative": 0.0, + "mass_conservation_relative": 0.0, + "minimum_eigenvalue": 77.66468780584248, + "minimum_eigenvalue_relative_to_trace": 0.014224301795941844, + "paired_vs_direct_relative": 0.0, + "positive_definite": true, + "status": "PASS", + "symmetry_relative": 0.0, + "unique_dof_count": 21 + }, + "TET4_WEDGE6_HEX8": { + "assembly": { + "accumulator_chunk_count": 1, + "accumulator_occupied_levels": 1, + "assembly_index_dtype": "int32", + "assembly_memory_budget_bytes": null, + "assembly_memory_budget_exceeded": false, + "assembly_peak_memory_estimate_bytes": 50112, + "assembly_phase_seconds": { + "assembly_plan": 0.00022659997921437025, + "chunk_fusion": 1.600012183189392e-06, + "chunk_sparse_conversion": 0.00024670001585036516, + "discrete_merge": 4.970002919435501e-05, + "element_kernel": 0.009686600067652762, + "sparse_finalize": 0.00016659998800605536 + }, + "assembly_plan_reused": false, + "chunk_count": 1, + "chunk_size": 256, + "coefficient_entry_count": 1044, + "concentrated_mass_count": 0, + "element_count": 3, + "final_nnz": 273, + "matrix": "mass", + "paired_assembly": true, + "peak_chunk_entry_count": 1044, + "shared_chunk_pattern": true, + "spring_count": 0 + }, + "direction_masses": { + "UX": 12999.999999999996, + "UY": 12999.999999999996, + "UZ": 12999.999999999996 + }, + "dof_count": 33, + "expected_total_mass": 12999.999999999998, + "formulation": "consistent_translational_finite_element_mass", + "independent_scatter_relative": 0.0, + "mass_conservation_relative": 1.3992226181121976e-16, + "minimum_eigenvalue": 58.69556047595917, + "minimum_eigenvalue_relative_to_trace": 0.004736059210002086, + "paired_vs_direct_relative": 0.0, + "positive_definite": true, + "status": "PASS", + "symmetry_relative": 0.0, + "unique_dof_count": 33 + }, + "WEDGE6_HEX8": { + "assembly": { + "accumulator_chunk_count": 1, + "accumulator_occupied_levels": 1, + "assembly_index_dtype": "int32", + "assembly_memory_budget_bytes": null, + "assembly_memory_budget_exceeded": false, + "assembly_peak_memory_estimate_bytes": 43200, + "assembly_phase_seconds": { + "assembly_plan": 0.00018009997438639402, + "chunk_fusion": 1.600012183189392e-06, + "chunk_sparse_conversion": 0.0002788000274449587, + "discrete_merge": 4.900002386420965e-05, + "element_kernel": 0.009564999956637621, + "sparse_finalize": 0.00015599990729242563 + }, + "assembly_plan_reused": false, + "chunk_count": 1, + "chunk_size": 256, + "coefficient_entry_count": 900, + "concentrated_mass_count": 0, + "element_count": 2, + "final_nnz": 252, + "matrix": "mass", + "paired_assembly": true, + "peak_chunk_entry_count": 900, + "shared_chunk_pattern": true, + "spring_count": 0 + }, + "direction_masses": { + "UX": 11699.999999999998, + "UY": 11699.999999999998, + "UZ": 11699.999999999998 + }, + "dof_count": 30, + "expected_total_mass": 11699.999999999998, + "formulation": "consistent_translational_finite_element_mass", + "independent_scatter_relative": 0.0, + "mass_conservation_relative": 0.0, + "minimum_eigenvalue": 54.166666666666636, + "minimum_eigenvalue_relative_to_trace": 0.004999999999999998, + "paired_vs_direct_relative": 0.0, + "positive_definite": true, + "status": "PASS", + "symmetry_relative": 0.0, + "unique_dof_count": 30 + } + }, + "formulation": "consistent_translational_finite_element_mass", + "lumped_route": "NOT_TESTED_OUT_OF_SCOPE", + "status": "PASS" + }, + "numerical_source_changed": false, + "owner_gate_required": false, + "pairwise_modal": { + "TET4_WEDGE6": { + "element_types": [ + "TET4", + "WEDGE6" + ], + "free_dof_count": 6, + "frequencies_hz": [ + 1206.684988126994, + 1313.7220049110836, + 1996.5865121433635, + 2204.629888480552, + 3006.910308912157, + 3216.6773568974513 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 1206.6849881269932, + 1313.722004911084, + 1996.586512143363, + 2204.629888480552, + 3006.910308912156, + 3216.6773568974513 + ], + "input_digest": "2ac728cd210c70cf770362c96d3fd65ca47de9aaaff6d0b8b6a6b4fa1a3cec4a", + "mass_orthogonality_error": 3.779282396625027e-16, + "maximum_relative_frequency_error": 7.537134469408116e-16, + "maximum_relative_residual": 1.1864525904435172e-15, + "modal_mass_normalization_error": 8.881784197001252e-16, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 0.9999999999999998, + "reference": 0 + }, + { + "candidate": 1, + "mac": 0.9999999999999999, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0000000000000002, + "reference": 3 + }, + { + "candidate": 4, + "mac": 0.9999999999999998, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000004, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000018 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999998 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000004 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999998, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "TET4_WEDGE6", + "node_count": 7, + "output_labels": { + "analysis": "modal", + "families": [ + "TET4", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 1.1864525904435172e-15, + 8.968472981461886e-16, + 5.146492371065361e-16, + 5.664262625055436e-16, + 2.519082636747264e-16, + 4.835201781258442e-16 + ], + "status": "PASS" + }, + "TET4_WEDGE6_HEX8": { + "element_types": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "free_dof_count": 12, + "frequencies_hz": [ + 779.2970010584501, + 876.0645186655587, + 1139.4548515471656, + 1616.6196599993436, + 2207.4327397382967, + 2285.4134048737073 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 779.2970010584489, + 876.0645186655561, + 1139.4548515471624, + 1616.6196599993434, + 2207.4327397382967, + 2285.4134048737064 + ], + "input_digest": "aeb404e4d6d793a614d5006b9a1596f234420c988dc5070c9f237907be6a39a7", + "mass_orthogonality_error": 4.3855285317645964e-16, + "maximum_relative_frequency_error": 2.9847085595705838e-15, + "maximum_relative_residual": 4.955018400212803e-15, + "modal_mass_normalization_error": 2.3314683517128287e-15, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0000000000000002, + "reference": 0 + }, + { + "candidate": 1, + "mac": 0.9999999999999998, + "reference": 1 + }, + { + "candidate": 2, + "mac": 0.9999999999999999, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0000000000000004, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0000000000000002, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000002, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 0.9999999999999987 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999989 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 0.9999999999999973 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 0.999999999999998 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000004 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999973, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "TET4_WEDGE6_HEX8", + "node_count": 11, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 4.955018400212803e-15, + 4.805706818479944e-15, + 4.1358185107997335e-15, + 1.6705271214496616e-15, + 3.8667489642244735e-16, + 1.17725797017441e-15 + ], + "status": "PASS" + }, + "WEDGE6_HEX8": { + "element_types": [ + "WEDGE6", + "HEX8" + ], + "free_dof_count": 12, + "frequencies_hz": [ + 740.9294743235075, + 837.8896897933662, + 1084.927719069486, + 1591.2186634461875, + 2243.4512104092983, + 2274.113387824576 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 740.9294743235104, + 837.8896897933677, + 1084.927719069483, + 1591.218663446188, + 2243.4512104092983, + 2274.1133878245764 + ], + "input_digest": "8eb4a48017707120303230306701996d4ce916ce47c880dcf92726c4dceb2e1e", + "mass_orthogonality_error": 3.3999816592250907e-16, + "maximum_relative_frequency_error": 3.835953409243685e-15, + "maximum_relative_residual": 7.999083822712703e-15, + "modal_mass_normalization_error": 1.1102230246251565e-15, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0, + "reference": 0 + }, + { + "candidate": 1, + "mac": 1.0, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0, + "reference": 2 + }, + { + "candidate": 3, + "mac": 0.9999999999999998, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0000000000000004, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000002, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000009 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 1.0000000000000009, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "WEDGE6_HEX8", + "node_count": 10, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 7.999083822712703e-15, + 4.853487657947602e-15, + 5.464768317606759e-15, + 1.7078674447652134e-15, + 8.289415235628701e-16, + 7.16602149450496e-16 + ], + "status": "PASS" + }, + "status": "PASS" + }, + "post_processing_output": { + "element_labels": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "frequencies_finite": true, + "json_analysis": "modal", + "mode_rows": 6, + "status": "PASS", + "stress_modal_claim": false + }, + "predeclared_tolerances": { + "interface_displacement_absolute": 1e-14, + "mass_direction_relative": 1e-12, + "mass_minimum_eigenvalue_relative": 1e-14, + "mass_symmetry_relative": 1e-12, + "mass_total_relative": 1e-12, + "modal_mass_orthogonality_relative": 1e-10, + "modal_residual_relative": 1e-08, + "oracle_frequency_relative": 1e-09, + "oracle_mode_mac": 0.99999999, + "refinement_first_frequency_step_relative": 0.25, + "refinement_mode_mac": 0.5, + "replay_frequency_absolute": 1e-12, + "replay_mode_absolute_after_sign": 1e-10 + }, + "pure_vs_mixed": { + "comparison_policy": "diagnostic envelope only; no equality claim across different discretizations or subdomain envelopes", + "mixed_cases": { + "TET4_WEDGE6": { + "element_types": [ + "TET4", + "WEDGE6" + ], + "free_dof_count": 6, + "frequencies_hz": [ + 1206.684988126994, + 1313.7220049110836, + 1996.5865121433635, + 2204.629888480552, + 3006.910308912157, + 3216.6773568974513 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 1206.6849881269932, + 1313.722004911084, + 1996.586512143363, + 2204.629888480552, + 3006.910308912156, + 3216.6773568974513 + ], + "input_digest": "2ac728cd210c70cf770362c96d3fd65ca47de9aaaff6d0b8b6a6b4fa1a3cec4a", + "mass_orthogonality_error": 3.779282396625027e-16, + "maximum_relative_frequency_error": 7.537134469408116e-16, + "maximum_relative_residual": 1.1864525904435172e-15, + "modal_mass_normalization_error": 8.881784197001252e-16, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 0.9999999999999998, + "reference": 0 + }, + { + "candidate": 1, + "mac": 0.9999999999999999, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0000000000000002, + "reference": 3 + }, + { + "candidate": 4, + "mac": 0.9999999999999998, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000004, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000018 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999998 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000004 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999998, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "PAIR_TET4_WEDGE6", + "node_count": 7, + "output_labels": { + "analysis": "modal", + "families": [ + "TET4", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 1.1864525904435172e-15, + 8.968472981461886e-16, + 5.146492371065361e-16, + 5.664262625055436e-16, + 2.519082636747264e-16, + 4.835201781258442e-16 + ], + "status": "PASS" + }, + "TET4_WEDGE6_HEX8": { + "element_types": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "free_dof_count": 12, + "frequencies_hz": [ + 779.2970010584501, + 876.0645186655587, + 1139.4548515471656, + 1616.6196599993436, + 2207.4327397382967, + 2285.4134048737073 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 779.2970010584489, + 876.0645186655561, + 1139.4548515471624, + 1616.6196599993434, + 2207.4327397382967, + 2285.4134048737064 + ], + "input_digest": "aeb404e4d6d793a614d5006b9a1596f234420c988dc5070c9f237907be6a39a7", + "mass_orthogonality_error": 4.3855285317645964e-16, + "maximum_relative_frequency_error": 2.9847085595705838e-15, + "maximum_relative_residual": 4.955018400212803e-15, + "modal_mass_normalization_error": 2.3314683517128287e-15, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0000000000000002, + "reference": 0 + }, + { + "candidate": 1, + "mac": 0.9999999999999998, + "reference": 1 + }, + { + "candidate": 2, + "mac": 0.9999999999999999, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0000000000000004, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0000000000000002, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000002, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 0.9999999999999987 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999989 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 0.9999999999999973 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 0.999999999999998 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000004 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999973, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "MIXED_TET4_WEDGE6_HEX8", + "node_count": 11, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 4.955018400212803e-15, + 4.805706818479944e-15, + 4.1358185107997335e-15, + 1.6705271214496616e-15, + 3.8667489642244735e-16, + 1.17725797017441e-15 + ], + "status": "PASS" + }, + "WEDGE6_HEX8": { + "element_types": [ + "WEDGE6", + "HEX8" + ], + "free_dof_count": 12, + "frequencies_hz": [ + 740.9294743235075, + 837.8896897933662, + 1084.927719069486, + 1591.2186634461875, + 2243.4512104092983, + 2274.113387824576 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 740.9294743235104, + 837.8896897933677, + 1084.927719069483, + 1591.218663446188, + 2243.4512104092983, + 2274.1133878245764 + ], + "input_digest": "8eb4a48017707120303230306701996d4ce916ce47c880dcf92726c4dceb2e1e", + "mass_orthogonality_error": 3.3999816592250907e-16, + "maximum_relative_frequency_error": 3.835953409243685e-15, + "maximum_relative_residual": 7.999083822712703e-15, + "modal_mass_normalization_error": 1.1102230246251565e-15, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0, + "reference": 0 + }, + { + "candidate": 1, + "mac": 1.0, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0, + "reference": 2 + }, + { + "candidate": 3, + "mac": 0.9999999999999998, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0000000000000004, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000002, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000013 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000009 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 1.0000000000000009, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "PAIR_WEDGE6_HEX8", + "node_count": 10, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 7.999083822712703e-15, + 4.853487657947602e-15, + 5.464768317606759e-15, + 1.7078674447652134e-15, + 8.289415235628701e-16, + 7.16602149450496e-16 + ], + "status": "PASS" + } + }, + "mixed_first_frequencies_hz": { + "TET4_WEDGE6": 1206.684988126994, + "TET4_WEDGE6_HEX8": 779.2970010584501, + "WEDGE6_HEX8": 740.9294743235075 + }, + "pure_cases": { + "HEX8": { + "element_types": [ + "HEX8" + ], + "free_dof_count": 12, + "frequencies_hz": [ + 654.7080902860578, + 654.7080902860617, + 887.0670159088427, + 1473.6726495150772, + 2411.1745256939907, + 2411.1745256939917 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 654.7080902860573, + 654.7080902860573, + 887.067015908842, + 1473.6726495150785, + 2411.174525693991, + 2411.174525693992 + ], + "input_digest": "77c8aa0aae3ce6cd92a918dc47b4f5a348ae369e0ba5f1a0cb99cf6980cbb6f9", + "mass_orthogonality_error": 2.7317440393552993e-16, + "maximum_relative_frequency_error": 6.7721580608631246e-15, + "maximum_relative_residual": 1.5286011917037517e-14, + "modal_mass_normalization_error": 1.1102230246251565e-15, + "mode_matching": { + "assignment": [ + { + "candidate": 1, + "mac": 0.9922036004176776, + "reference": 0 + }, + { + "candidate": 0, + "mac": 0.9922036004176774, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0000000000000004, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0000000000000004, + "reference": 3 + }, + { + "candidate": 4, + "mac": 0.7188948634313694, + "reference": 4 + }, + { + "candidate": 5, + "mac": 0.7188948634313699, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0, + 1 + ], + "reference_modes": [ + 0, + 1 + ], + "subspace_mac": 0.9999999999999989 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 0.9999999999999996 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 4, + 5 + ], + "reference_modes": [ + 4, + 5 + ], + "subspace_mac": 0.9999999999999993 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999989, + "minimum_individual_mac": 0.7188948634313694, + "mode_ordered": true + }, + "name": "PURE_HEX8", + "node_count": 8, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 6.16477823930278e-15, + 1.5286011917037517e-14, + 1.0074444103824495e-14, + 1.4783195658223674e-15, + 1.4046122267306507e-15, + 8.090338285488967e-16 + ], + "status": "PASS" + }, + "TET4": { + "element_types": [ + "TET4" + ], + "free_dof_count": 3, + "frequencies_hz": [ + 1619.5553821068938, + 1619.5553821068938, + 3029.910679374876 + ], + "frequency_count": 3, + "independent_reference_frequencies_hz": [ + 1619.5553821068938, + 1619.5553821068938, + 3029.910679374876 + ], + "input_digest": "e3f9561e74ae60ab3c632a4602fe1a16496a60e6c5cea55ef19ac83096d18d38", + "mass_orthogonality_error": 0.0, + "maximum_relative_frequency_error": 0.0, + "maximum_relative_residual": 2.0193754640700194e-16, + "modal_mass_normalization_error": 2.220446049250313e-16, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0, + "reference": 0 + }, + { + "candidate": 1, + "mac": 1.0, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0, + "reference": 2 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0, + 1 + ], + "reference_modes": [ + 0, + 1 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0000000000000004 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 1.0000000000000004, + "minimum_individual_mac": 1.0, + "mode_ordered": true + }, + "name": "PURE_TET4", + "node_count": 4, + "output_labels": { + "analysis": "modal", + "families": [ + "TET4" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 2.0193754640700194e-16, + 2.0193754640700194e-16, + 0.0 + ], + "status": "PASS" + }, + "WEDGE6": { + "element_types": [ + "WEDGE6" + ], + "free_dof_count": 6, + "frequencies_hz": [ + 1065.2205048069131, + 1254.5022046321176, + 2140.2211412428223, + 2172.8615566299964, + 3015.7665452440765, + 3676.6662825154494 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 1065.2205048069125, + 1254.5022046321176, + 2140.221141242822, + 2172.861556629996, + 3015.7665452440756, + 3676.666282515449 + ], + "input_digest": "444eaee3dc030d6229dd442dadb0f5bd42090b3a8c4c6f4756b9c901f37aa453", + "mass_orthogonality_error": 4.261470290224069e-16, + "maximum_relative_frequency_error": 6.403566428279946e-16, + "maximum_relative_residual": 2.10900152209332e-15, + "modal_mass_normalization_error": 6.661338147750939e-16, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0000000000000004, + "reference": 0 + }, + { + "candidate": 1, + "mac": 1.0000000000000002, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0, + "reference": 2 + }, + { + "candidate": 3, + "mac": 0.9999999999999999, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000004, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999998 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 0.9999999999999993 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 0.9999999999999993 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999993, + "minimum_individual_mac": 0.9999999999999999, + "mode_ordered": true + }, + "name": "PURE_WEDGE6", + "node_count": 6, + "output_labels": { + "analysis": "modal", + "families": [ + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 2.10900152209332e-15, + 8.100591292897414e-16, + 2.7663853290482464e-16, + 3.0002491154456648e-16, + 4.3223079423181344e-16, + 3.025901310466194e-16 + ], + "status": "PASS" + } + }, + "pure_first_frequencies_hz": { + "HEX8": 654.7080902860578, + "TET4": 1619.5553821068938, + "WEDGE6": 1065.2205048069131 + }, + "status": "PASS" + }, + "record_id": "QF-028-WP08-MIXED-MODAL-VNV", + "reference_oracle": { + "external": "NOT_AVAILABLE_AND_NOT_REQUIRED_FOR_THIS_BOUNDED_CONTRACT", + "external_correlation_claimed": false, + "mass": "analytical rho*volume conservation", + "modal": "independent dense local-matrix scatter plus scipy.linalg.eigh", + "status": "PASS" + }, + "replay_determinism": { + "canonicalization": "eigenvector sign only; no mode permutation applied", + "eigenvalues_exactly_equal": true, + "frequency_digest": "ea3044a86b4126b481e283875a84bb91a0438ee6543417bc639d2d15a8319bd6", + "maximum_frequency_absolute_difference": 0.0, + "maximum_mode_difference_after_sign_canonicalization": 0.0, + "required_replays": 2, + "status": "PASS" + }, + "schema_version": 1, + "scope": { + "analysis": "modal", + "excluded": [ + "lumped mass", + "concentrated-mass qualification", + "Newmark", + "harmonic", + "nonlinear", + "contact", + "nonconforming interfaces", + "TET10/HEX20 mixed", + "PYRAMID5", + "large mixed performance", + "universal all-frequency modal claim" + ], + "families": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "interfaces": "conforming shared-node triangular and quadrilateral faces only", + "mass": "consistent translational finite-element mass only", + "material": "homogeneous isotropic_3d with positive density", + "modes": "first six positive modes in the tested fixed-base cases" + }, + "source_sha": "65c816fee4a1497dd320358565a297c01bfcaff5", + "status": "CAMPAIGN_COMPLETE_NO_PROMOTION", + "technical_decision": "SUPPORTED_WITH_LIMITATIONS", + "work_package": "WP08", + "wp07_static_claim_changed": false +} diff --git a/qualification/0_2_8/wp08b_mixed_modal_contract.json b/qualification/0_2_8/wp08b_mixed_modal_contract.json new file mode 100644 index 00000000..1b170387 --- /dev/null +++ b/qualification/0_2_8/wp08b_mixed_modal_contract.json @@ -0,0 +1,96 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP08B-MIXED-MODAL-CONTRACT", + "work_package": "WP08B", + "applicable_version": "0.2.8-development", + "baseline_sha": "59a438bc0d58ee32d35e084dd091eefe78418bb6", + "status": "PREDECLARED_FOLLOW_UP_CONTRACT", + "parent_records": [ + "qualification/0_2_8/wp08b_root_cause_audit.json", + "qualification/0_2_8/wp08_mixed_modal_contract.json", + "qualification/0_2_8/wp08_mixed_modal_vnv.json" + ], + "objective": "Re-run the bounded mixed TET4/WEDGE6/HEX8 modal refinement campaign on one invariant physical domain after the WP08 root-cause audit demonstrated an invalid mesh-to-mesh comparison protocol.", + "scope": { + "analysis": "modal", + "families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node triangular and quadrilateral interfaces only", + "kinematics": "small-strain homogeneous linear isotropic elasticity", + "mass": "consistent translational finite-element mass only", + "boundary_conditions": "fixed x=0 base used by the declared chain", + "modes": "first six positive modes only", + "refinement_levels": [1, 2, 4, 8], + "excluded": [ + "lumped or concentrated-mass qualification", + "Newmark", + "harmonic", + "nonlinear", + "contact", + "nonconforming interfaces", + "hanging nodes or MPC/RBE transitions", + "TET10/HEX20 mixed", + "PYRAMID5", + "large-model performance", + "universal all-frequency or modal-stress claim" + ] + }, + "mesh_construction_rule": { + "physical_domain": "Every refinement level retains the single TET4 plus all WEDGE6 and HEX8 segments generated for that level.", + "expected_element_counts": "1 TET4, N WEDGE6 and N HEX8 for level N.", + "invariant_checks": ["total volume", "coordinate bounding box", "material density", "fixed-base boundary", "strictly increasing node and DOF counts"] + }, + "comparison_method": { + "frequency_pairing": "Compute the full coarse-to-fine MAC matrix and select the maximum-total-MAC assignment with the Hungarian algorithm; retain the recorded permutation.", + "mesh_mapping": "Evaluate each coarse mode at every fine-mesh node using the containing coarse element's linear shape functions. Reject extrapolation or failed inverse natural-coordinate mapping.", + "mac_inner_product": "Use the fine global consistent mass matrix after coarse-mode prolongation. For vectors u and v, MAC=(u^T M_fine v)^2/((u^T M_fine u)(v^T M_fine v)).", + "normalization": "Use unit generalized-mass production modes and normalize prolonged coarse vectors in the fine-mass inner product before subspace calculations.", + "near_degenerate_rule": "For diagnostic pure-family controls only, modes within 3 percent relative frequency separation are compared as a mass-orthonormal subspace by the minimum squared singular value. The mixed qualification modes are individually matched unless that rule is triggered.", + "no_retroactive_change": "This comparison method belongs only to WP08B. The WP08 shared-node gate and its recorded failure remain unchanged." + }, + "oracle": { + "mass": "analytical rho*sum(volume) and translational mass conservation", + "modal": "independent dense local-matrix scatter plus scipy.linalg.eigh; it does not call the production GlobalAssembler matrix path or ModalAnalysisSolver", + "external": "NOT_AVAILABLE_AND_NOT_REQUIRED_FOR_THIS_BOUNDED_MIXED_ASSEMBLY_SCOPE", + "external_policy": "No external correlation is claimed." + }, + "tolerance_policy": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "values": { + "geometry_volume_relative": 1.0e-12, + "geometry_coordinate_absolute": 1.0e-12, + "mapping_reconstruction_absolute": 1.0e-10, + "mapping_interface_disagreement_absolute": 1.0e-12, + "mass_symmetry_relative": 1.0e-12, + "mass_conservation_relative": 1.0e-12, + "modal_residual_relative": 1.0e-8, + "modal_mass_orthogonality_relative": 1.0e-10, + "oracle_frequency_relative": 1.0e-9, + "adjacent_frequency_relative": 1.0e-1, + "mapped_global_mac": 8.5e-1, + "pure_control_subspace_mac": 8.5e-1, + "near_degenerate_frequency_relative": 3.0e-2, + "replay_frequency_absolute": 1.0e-12, + "replay_mode_absolute_after_sign": 1.0e-10 + } + }, + "required_gates": [ + "invariant physical-domain construction at all four levels", + "mixed mass assembly and analytical mass conservation", + "pairwise and three-family modal assembly/oracle checks", + "independent dense generalized-eigen oracle", + "mapped global frequency and MAC matching for every adjacent refinement transition", + "residuals, mass orthogonality, normalization and ordered positive modes", + "mixed-interface and invalid-input rejection", + "pure TET4, WEDGE6 and HEX8 diagnostic controls, recorded without relabeling any individual family route", + "two deterministic complete replays", + "no modal-stress or external-correlation claim" + ], + "integrity": { + "wp08_contract_and_evidence_read_only": true, + "historical_0_2_7_evidence_read_only": true, + "numerical_source_change_allowed": false, + "public_maturity_relabel_applied": false, + "owner_gate_required_if_candidate": true + } +} diff --git a/qualification/0_2_8/wp08b_mixed_modal_matrix.json b/qualification/0_2_8/wp08b_mixed_modal_matrix.json new file mode 100644 index 00000000..4b91c1af --- /dev/null +++ b/qualification/0_2_8/wp08b_mixed_modal_matrix.json @@ -0,0 +1,81 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP08B-MIXED-MODAL-MATRIX", + "work_package": "WP08B", + "applicable_version": "0.2.8-development", + "baseline_sha": "59a438bc0d58ee32d35e084dd091eefe78418bb6", + "parent_matrix": "qualification/0_2_8/wp08_mixed_modal_matrix.json", + "root_cause_record": "qualification/0_2_8/wp08b_root_cause_audit.json", + "contract_record": "qualification/0_2_8/wp08b_mixed_modal_contract.json", + "evidence_record": "qualification/0_2_8/wp08b_mixed_modal_vnv.json", + "status": "OWNER_APPROVED_WITH_LIMITATIONS", + "public_maturity_policy": "WP08B is approved only as a separate bounded mixed-workflow qualification. It does not change the 46 element-analysis records.", + "summary": { + "wp08_initial_decision_preserved": "SUPPORTED_WITH_LIMITATIONS", + "wp08b_technical_decision": "QUALIFIED_BOUNDED_CANDIDATE", + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "mixed_workflow_final_status": "QUALIFIED_BOUNDED", + "public_maturity_relabels_applied": 0, + "owner_gate_required": false, + "element_analysis_registry_total": 46, + "element_analysis_registry_changed": false, + "mixed_workflow_registry_separate": true + }, + "mixed_candidate": { + "id": "CAND-MIXED-TET4-WEDGE6-HEX8-modal-consistent-mass", + "technical_decision": "QUALIFIED_BOUNDED_CANDIDATE", + "owner_gate": "APPROVE_WITH_LIMITATIONS", + "final_status": "QUALIFIED_BOUNDED", + "scope": "modal; fixed x=0 base; TET4 plus every WEDGE6 and HEX8 segment in the conforming chain; small-strain homogeneous linear isotropic elasticity; consistent translational finite-element mass; and the first six positive modes on levels 1, 2, 4 and 8", + "limitations": [ + "The public decision is limited to this separate mixed-workflow record.", + "No external industrial-solver correlation is claimed.", + "No modal-stress, Newmark, harmonic, nonlinear, contact, nonconforming-interface, higher-order-family or large-performance claim.", + "Pure-family controls are diagnostic only and do not relabel their individual modal routes." + ], + "owner_limitations": [ + "The qualification applies only to the fixed-base conforming chain tested at refinement levels 1, 2, 4 and 8 and to its first six positive modes.", + "The independent dense local-matrix scatter/eigensolve and analytical mass conservation are sufficient for this bounded assembly claim; no external industrial-solver correlation is claimed.", + "The mapped MAC is a field comparison by shape-function prolongation in the fine consistent-mass inner product; direct shared-node MAC remains the failed WP08 protocol and is not replaced retroactively.", + "No modal stress, lumped/concentrated mass, Newmark, harmonic, nonlinear, contact, nonconforming/hanging-node/MPC/RBE interface, TET10/HEX20, PYRAMID5, large-performance or universal all-frequency claim is made." + ] + }, + "root_cause_resolution": { + "primary": "MESH_TO_MESH_MAPPING_PROBLEM", + "secondary": "GEOMETRIC_DISCRETIZATION_EFFECT", + "wp08_gate_changed": false, + "wp08_evidence_rewritten": false, + "numerical_source_changed": false, + "remediation": "A separate WP08B runner retains all generated WEDGE6/HEX8 segments at every level and prolongs coarse fields to the fine mesh before applying a fine-mass global MAC." + }, + "evidence_summary": { + "mesh_construction": "PASS", + "mixed_mass_assembly": "PASS", + "mass_conservation": "PASS", + "pairwise_modal": "PASS", + "reference_oracle": "PASS_WITHOUT_EXTERNAL_CORRELATION", + "mesh_refinement": "PASS", + "mode_residuals": "PASS", + "orthogonality": "PASS", + "mapped_global_mode_matching": "PASS", + "interface_robustness": "PASS", + "replay_determinism": "PASS_2_REPLAYS", + "pure_family_controls": "PASS_DIAGNOSTIC", + "post_processing": "PASS" + }, + "registry_integrity": { + "source_registry_0_2_7_unchanged": true, + "historical_0_2_7_evidence_changed": false, + "wp08_evidence_unchanged": true, + "not_added_to_element_analysis_registry": true, + "mixed_workflow_record_kind": "mixed_workflow_qualification" + }, + "owner_gate": { + "record": "qualification/0_2_8/wp08b_owner_gate_final.json", + "decision": "APPROVE_WITH_LIMITATIONS", + "audited_commit": "35d2debbd414917ac31d2b2d945df1132737eae5", + "evidence_integrity": "PASS", + "numerical_source_changed": false, + "historical_0_2_7_evidence_changed": false + } +} diff --git a/qualification/0_2_8/wp08b_mixed_modal_vnv.json b/qualification/0_2_8/wp08b_mixed_modal_vnv.json new file mode 100644 index 00000000..6e4082dc --- /dev/null +++ b/qualification/0_2_8/wp08b_mixed_modal_vnv.json @@ -0,0 +1,2144 @@ +{ + "applicable_version": "0.2.8-development", + "baseline_sha": "59a438bc0d58ee32d35e084dd091eefe78418bb6", + "bugs_fixed": [ + "WP08B uses all generated WEDGE6/HEX8 segments and a fine-mass prolongation MAC in a separate campaign runner; no numerical kernel changed." + ], + "bugs_found": [ + "WP08 refinement construction selected only the first WEDGE6/HEX8 segment above level one, changing the physical domain.", + "WP08 compared shared nodal samples rather than fields represented on one mesh and one mass inner product." + ], + "failure_contract": { + "cases": { + "disconnected_families": { + "error": "Mesh validation failed: Mixed modal model has no conforming shared-face interface between its solid families.", + "status": "PASS" + }, + "invalid_connectivity": { + "error": "Mesh validation failed: Element 1: repeated node in connectivity.", + "status": "PASS" + }, + "invalid_orientation": { + "error": "Mesh validation failed: Element 0: invalid TET4 signed corner volume -1.666667e-01.", + "status": "PASS" + }, + "nonconforming_interface": { + "error": "Mesh validation failed: Model contains exact duplicate nodes.; Mixed modal nonconforming interface rejected: coincident faces from different families do not share the same node identities.; Mixed modal nonconforming interface rejected: coincident faces from different families do not share the same node identities.; Mixed modal model has no conforming shared-face interface between its solid families.", + "status": "PASS" + } + }, + "status": "PASS" + }, + "historical_0_2_7_evidence_changed": false, + "interface_robustness": { + "displacement_continuity_max": 0.0, + "duplicate_interface_dofs": false, + "interface_count": 5, + "interface_family_pairs": [ + [ + "TET4", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ], + [ + "HEX8", + "WEDGE6" + ] + ], + "mass_duplication_check": "covered by analytical total-mass conservation", + "shared_dof_sets_consistent": true, + "shared_node_count": 19, + "status": "PASS" + }, + "limitations": [ + "The independent dense oracle checks a separate global scatter and generalized eigensolve, not an external industrial-solver correlation.", + "The qualification candidate is limited to the declared fixed-base chain, first six modes, consistent mass and conforming interfaces.", + "Pure-family controls are diagnostic only and do not relabel their individual modal routes.", + "No modal stress, Newmark, harmonic, nonlinear, nonconforming-interface or large-performance claim is made." + ], + "mesh_construction": { + "coordinate_maximum_absolute_error": 0.0, + "expected_family_counts": true, + "levels": { + "1": { + "coordinate_max": [ + 1.0, + 1.0, + 1.0 + ], + "coordinate_min": [ + 0.0, + -1.0, + -1.0 + ], + "dof_count": 33, + "element_count": 3, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "node_count": 11, + "total_volume": 1.6666666666666665 + }, + "2": { + "coordinate_max": [ + 1.0, + 1.0, + 1.0 + ], + "coordinate_min": [ + 0.0, + -1.0, + -1.0 + ], + "dof_count": 48, + "element_count": 5, + "family_counts": { + "HEX8": 2, + "TET4": 1, + "WEDGE6": 2 + }, + "node_count": 16, + "total_volume": 1.6666666666666663 + }, + "4": { + "coordinate_max": [ + 1.0, + 1.0, + 1.0 + ], + "coordinate_min": [ + 0.0, + -1.0, + -1.0 + ], + "dof_count": 78, + "element_count": 9, + "family_counts": { + "HEX8": 4, + "TET4": 1, + "WEDGE6": 4 + }, + "node_count": 26, + "total_volume": 1.6666666666666665 + }, + "8": { + "coordinate_max": [ + 1.0, + 1.0, + 1.0 + ], + "coordinate_min": [ + 0.0, + -1.0, + -1.0 + ], + "dof_count": 138, + "element_count": 17, + "family_counts": { + "HEX8": 8, + "TET4": 1, + "WEDGE6": 8 + }, + "node_count": 46, + "total_volume": 1.6666666666666663 + } + }, + "node_and_dof_counts_strictly_increase": true, + "status": "PASS", + "volume_relative_error": 1.332267629550188e-16 + }, + "mesh_refinement": { + "frequency_order_monotone_decreasing": true, + "levels": { + "1": { + "dof_count": 33, + "first_six_frequencies_hz": [ + 779.2970010584501, + 876.0645186655587, + 1139.4548515471656, + 1616.6196599993436, + 2207.4327397382967, + 2285.4134048737073 + ], + "node_count": 11 + }, + "2": { + "dof_count": 48, + "first_six_frequencies_hz": [ + 770.1499631167884, + 873.1117559394899, + 1136.2714804120355, + 1613.7095044299756, + 2187.6000509913674, + 2263.2197843218273 + ], + "node_count": 16 + }, + "4": { + "dof_count": 78, + "first_six_frequencies_hz": [ + 757.5028256542097, + 871.9146845914033, + 1121.0686449623518, + 1612.216428759423, + 2066.447243299222, + 2235.72459515029 + ], + "node_count": 26 + }, + "8": { + "dof_count": 138, + "first_six_frequencies_hz": [ + 753.3363247965001, + 871.5747173312384, + 1116.185993464026, + 1611.7501652041876, + 2032.606078410475, + 2228.093914493616 + ], + "node_count": 46 + } + }, + "mode_crossing_observed": false, + "status": "PASS", + "transitions": [ + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9989838732367105 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.9991483773630149 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9994594759198485 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9991735973089504 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.9853619551932534 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.9750632149681868 + } + ], + "assignment_is_identity": true, + "coarse_frequencies_hz": [ + 779.2970010584501, + 876.0645186655587, + 1139.4548515471656, + 1616.6196599993436, + 2207.4327397382967, + 2285.4134048737073 + ], + "coarse_level": 1, + "fine_frequencies_hz": [ + 770.1499631167884, + 873.1117559394899, + 1136.2714804120355, + 1613.7095044299756, + 2187.6000509913674, + 2263.2197843218273 + ], + "fine_level": 2, + "frequency_relative_changes": [ + 0.011876956930107097, + 0.0033818840554856516, + 0.0028015938004320212, + 0.0018033949489539773, + 0.009065957343501437, + 0.009806215333404015 + ], + "mac_matrix": [ + [ + 0.9989838732367105, + 0.0003626360363738484, + 8.500763343922677e-06, + 6.331559133763442e-08, + 1.0563144272603956e-06, + 2.4273310961888048e-05 + ], + [ + 0.00035738702473482907, + 0.9991483773630149, + 2.7931181561243766e-05, + 1.460376329653826e-06, + 1.2140015248747002e-05, + 5.080863902056627e-06 + ], + [ + 9.317898706032452e-06, + 2.4932755413917825e-05, + 0.9994594759198485, + 2.3378737697881016e-06, + 5.1434798521355845e-05, + 1.3398343282586462e-05 + ], + [ + 2.9055899028528566e-08, + 8.79784724420381e-07, + 1.732658795207851e-06, + 0.9991735973089504, + 2.2870926366399703e-07, + 3.8638080327705676e-06 + ], + [ + 2.3337333471961992e-06, + 4.843908451111019e-06, + 2.770053160209427e-05, + 1.3987886283874071e-06, + 0.9853619551932534, + 0.007975573494263737 + ], + [ + 1.0967399612210916e-05, + 1.1195867133567193e-06, + 5.695306900932417e-06, + 4.935763445701238e-07, + 0.006665868576552459, + 0.9750632149681868 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 3, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 16 + }, + "maximum_frequency_relative_change": 0.011876956930107097, + "minimum_assigned_mac": 0.9750632149681868, + "mixed_near_degenerate_clusters": { + "coarse": [ + [ + 0 + ], + [ + 1 + ], + [ + 2 + ], + [ + 3 + ], + [ + 4 + ], + [ + 5 + ] + ], + "fine": [ + [ + 0 + ], + [ + 1 + ], + [ + 2 + ], + [ + 3 + ], + [ + 4 + ], + [ + 5 + ] + ] + }, + "status": "PASS" + }, + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9988622794359757 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.9995010645382614 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9985978421855624 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9997410951755462 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.9036534290771685 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.9135199181127577 + } + ], + "assignment_is_identity": true, + "coarse_frequencies_hz": [ + 770.1499631167884, + 873.1117559394899, + 1136.2714804120355, + 1613.7095044299756, + 2187.6000509913674, + 2263.2197843218273 + ], + "coarse_level": 2, + "fine_frequencies_hz": [ + 757.5028256542097, + 871.9146845914033, + 1121.0686449623518, + 1612.216428759423, + 2066.447243299222, + 2235.72459515029 + ], + "fine_level": 4, + "frequency_relative_changes": [ + 0.016695828760316687, + 0.0013729225682756975, + 0.01356102101151383, + 0.0009261012627823615, + 0.05862855104818297, + 0.012298110970903817 + ], + "mac_matrix": [ + [ + 0.9988622794359757, + 0.00040334745742507343, + 0.0001156799759925023, + 2.0242547733883557e-07, + 5.374135849260103e-06, + 9.005883812162376e-06 + ], + [ + 0.0003964591864337563, + 0.9995010645382614, + 4.094519202651383e-05, + 8.107166973346558e-08, + 2.557229903849377e-06, + 1.323528033123746e-06 + ], + [ + 0.00011467768652505044, + 3.706861160373819e-05, + 0.9985978421855624, + 2.408447127592597e-06, + 6.289400685385586e-05, + 1.780852479123014e-05 + ], + [ + 1.7156584892905074e-07, + 7.428344755570376e-08, + 2.3736188674475485e-06, + 0.9997410951755462, + 9.567636978911741e-05, + 9.462247807321775e-08 + ], + [ + 5.4816932561684355e-06, + 2.5684634219142385e-06, + 3.0375623450829387e-05, + 7.550112666045222e-05, + 0.9036534290771685, + 0.07580289999494323 + ], + [ + 1.352280663394347e-06, + 1.782533263169468e-07, + 2.8916274987005713e-05, + 7.2006368752065974e-06, + 0.07322642753523644, + 0.9135199181127577 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 4, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 26 + }, + "maximum_frequency_relative_change": 0.05862855104818297, + "minimum_assigned_mac": 0.9036534290771685, + "mixed_near_degenerate_clusters": { + "coarse": [ + [ + 0 + ], + [ + 1 + ], + [ + 2 + ], + [ + 3 + ], + [ + 4 + ], + [ + 5 + ] + ], + "fine": [ + [ + 0 + ], + [ + 1 + ], + [ + 2 + ], + [ + 3 + ], + [ + 4 + ], + [ + 5 + ] + ] + }, + "status": "PASS" + }, + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9999046171630146 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.999955814461868 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9998908102677968 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9999717553408453 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.9983499325251556 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.9979137182657807 + } + ], + "assignment_is_identity": true, + "coarse_frequencies_hz": [ + 757.5028256542097, + 871.9146845914033, + 1121.0686449623518, + 1612.216428759423, + 2066.447243299222, + 2235.72459515029 + ], + "coarse_level": 4, + "fine_frequencies_hz": [ + 753.3363247965001, + 871.5747173312384, + 1116.185993464026, + 1611.7501652041876, + 2032.606078410475, + 2228.093914493616 + ], + "fine_level": 8, + "frequency_relative_changes": [ + 0.005530731388580123, + 0.0003900609476212431, + 0.004374406709022237, + 0.0002892902171201769, + 0.01664915068797357, + 0.003424757191353971 + ], + "mac_matrix": [ + [ + 0.9999046171630146, + 3.521189202597205e-05, + 1.4333311645098818e-05, + 2.993676198226729e-08, + 7.957823311556168e-07, + 9.510962928285732e-07 + ], + [ + 3.502236649449058e-05, + 0.999955814461868, + 4.752698031212888e-06, + 3.654894274396873e-09, + 2.3594006433246499e-07, + 1.0428116266174577e-07 + ], + [ + 1.4329120599633258e-05, + 4.622144703230552e-06, + 0.9998908102677968, + 2.2997667349502503e-07, + 3.752696958239819e-06, + 1.2451578344626078e-06 + ], + [ + 2.8453185507035037e-08, + 3.6633995795553914e-09, + 2.3039844146282863e-07, + 0.9999717553408453, + 1.3392254573181623e-05, + 1.9951880967905246e-09 + ], + [ + 7.621111389964641e-07, + 2.284527319565308e-07, + 3.48576013777572e-06, + 1.3066787108563138e-05, + 0.9983499325251556, + 0.0005630175186650859 + ], + [ + 7.157536192656862e-07, + 7.899602846122157e-08, + 1.2568468484876511e-06, + 1.1106880526568427e-08, + 0.0005674493471673938, + 0.9979137182657807 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 4, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 46 + }, + "maximum_frequency_relative_change": 0.01664915068797357, + "minimum_assigned_mac": 0.9979137182657807, + "mixed_near_degenerate_clusters": { + "coarse": [ + [ + 0 + ], + [ + 1 + ], + [ + 2 + ], + [ + 3 + ], + [ + 4 + ], + [ + 5 + ] + ], + "fine": [ + [ + 0 + ], + [ + 1 + ], + [ + 2 + ], + [ + 3 + ], + [ + 4 + ], + [ + 5 + ] + ] + }, + "status": "PASS" + } + ] + }, + "mixed_mass_assembly": { + "cases": { + "TET4_WEDGE6": { + "assembly": { + "accumulator_chunk_count": 1, + "accumulator_occupied_levels": 1, + "assembly_index_dtype": "int32", + "assembly_memory_budget_bytes": null, + "assembly_memory_budget_exceeded": false, + "assembly_peak_memory_estimate_bytes": 69120, + "assembly_phase_seconds": { + "assembly_plan": 0.00026739994063973427, + "chunk_fusion": 3.00002284348011e-06, + "chunk_sparse_conversion": 0.00027190009132027626, + "discrete_merge": 4.989991430193186e-05, + "element_kernel": 0.016332099912688136, + "sparse_finalize": 0.0001607000594958663 + }, + "assembly_plan_reused": false, + "chunk_count": 1, + "chunk_size": 256, + "coefficient_entry_count": 1440, + "concentrated_mass_count": 0, + "element_count": 5, + "final_nnz": 372, + "matrix": "mass", + "paired_assembly": true, + "peak_chunk_entry_count": 1440, + "shared_chunk_pattern": true, + "spring_count": 0 + }, + "direction_masses": { + "UX": 5200.000000000001, + "UY": 5200.000000000001, + "UZ": 5200.0 + }, + "dof_count": 48, + "expected_total_mass": 5200.0, + "formulation": "consistent_translational_finite_element_mass", + "independent_scatter_relative": 0.0, + "mass_conservation_relative": 1.7490282726402466e-16, + "minimum_eigenvalue": 20.354080827419278, + "minimum_eigenvalue_relative_to_trace": 0.0037278536313954717, + "paired_vs_direct_relative": 0.0, + "positive_definite": true, + "status": "PASS", + "symmetry_relative": 0.0, + "unique_dof_count": 48 + }, + "TET4_WEDGE6_HEX8": { + "assembly": { + "accumulator_chunk_count": 1, + "accumulator_occupied_levels": 1, + "assembly_index_dtype": "int32", + "assembly_memory_budget_bytes": null, + "assembly_memory_budget_exceeded": false, + "assembly_peak_memory_estimate_bytes": 179712, + "assembly_phase_seconds": { + "assembly_plan": 0.0004314000252634287, + "chunk_fusion": 2.200016751885414e-06, + "chunk_sparse_conversion": 0.00033900002017617226, + "discrete_merge": 5.000003147870302e-05, + "element_kernel": 0.038894800003618, + "sparse_finalize": 0.00017060001846402884 + }, + "assembly_plan_reused": false, + "chunk_count": 1, + "chunk_size": 256, + "coefficient_entry_count": 3744, + "concentrated_mass_count": 0, + "element_count": 9, + "final_nnz": 840, + "matrix": "mass", + "paired_assembly": true, + "peak_chunk_entry_count": 3744, + "shared_chunk_pattern": true, + "spring_count": 0 + }, + "direction_masses": { + "UX": 12999.999999999996, + "UY": 12999.999999999996, + "UZ": 12999.999999999996 + }, + "dof_count": 78, + "expected_total_mass": 12999.999999999998, + "formulation": "consistent_translational_finite_element_mass", + "independent_scatter_relative": 6.8177592845108e-17, + "mass_conservation_relative": 1.3992226181121976e-16, + "minimum_eigenvalue": 20.171294950631797, + "minimum_eigenvalue_relative_to_trace": 0.0016275923843974013, + "paired_vs_direct_relative": 0.0, + "positive_definite": true, + "status": "PASS", + "symmetry_relative": 2.055631768880383e-17, + "unique_dof_count": 78 + }, + "WEDGE6_HEX8": { + "assembly": { + "accumulator_chunk_count": 1, + "accumulator_occupied_levels": 1, + "assembly_index_dtype": "int32", + "assembly_memory_budget_bytes": null, + "assembly_memory_budget_exceeded": false, + "assembly_peak_memory_estimate_bytes": 172800, + "assembly_phase_seconds": { + "assembly_plan": 0.0004385000793263316, + "chunk_fusion": 2.800021320581436e-06, + "chunk_sparse_conversion": 0.0003299000672996044, + "discrete_merge": 5.349994171410799e-05, + "element_kernel": 0.037846899940632284, + "sparse_finalize": 0.00017300003673881292 + }, + "assembly_plan_reused": false, + "chunk_count": 1, + "chunk_size": 256, + "coefficient_entry_count": 3600, + "concentrated_mass_count": 0, + "element_count": 8, + "final_nnz": 819, + "matrix": "mass", + "paired_assembly": true, + "peak_chunk_entry_count": 3600, + "shared_chunk_pattern": true, + "spring_count": 0 + }, + "direction_masses": { + "UX": 11699.999999999996, + "UY": 11699.999999999996, + "UZ": 11699.999999999996 + }, + "dof_count": 75, + "expected_total_mass": 11699.999999999998, + "formulation": "consistent_translational_finite_element_mass", + "independent_scatter_relative": 7.526150046968791e-17, + "mass_conservation_relative": 1.5546917979024417e-16, + "minimum_eigenvalue": 19.478972326547087, + "minimum_eigenvalue_relative_to_trace": 0.001798058983988962, + "paired_vs_direct_relative": 0.0, + "positive_definite": true, + "status": "PASS", + "symmetry_relative": 2.269219620155559e-17, + "unique_dof_count": 75 + } + }, + "status": "PASS" + }, + "numerical_source_changed": false, + "owner_gate_required": true, + "pairwise_modal": { + "TET4_WEDGE6": { + "element_types": [ + "TET4", + "WEDGE6", + "WEDGE6", + "WEDGE6", + "WEDGE6" + ], + "free_dof_count": 15, + "frequencies_hz": [ + 1183.3414112127944, + 1311.4931643406649, + 1944.1469596178154, + 2195.9633545939446, + 2888.8701764968155, + 3004.338141160037 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 1183.3414112127975, + 1311.4931643406562, + 1944.1469596178144, + 2195.96335459394, + 2888.870176496813, + 3004.338141160035 + ], + "input_digest": "3abc6fc3bfd22f17805bc6aa24f77a225a812bf981964ce411e3edc2b825f205", + "mass_orthogonality_error": 4.0262893498362107e-16, + "maximum_relative_frequency_error": 6.588063058023346e-15, + "maximum_relative_residual": 1.3369650601191946e-14, + "modal_mass_normalization_error": 8.881784197001252e-16, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 0.9999999999999999, + "reference": 0 + }, + { + "candidate": 1, + "mac": 1.0000000000000002, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0000000000000002, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0000000000000004, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999987 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 0.9999999999999984 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 0.9999999999999996 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 1.0000000000000009 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999984, + "minimum_individual_mac": 0.9999999999999999, + "mode_ordered": true + }, + "name": "WP08B_TET4_WEDGE6", + "node_count": 16, + "output_labels": { + "analysis": "modal", + "families": [ + "TET4", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 1.3369650601191946e-14, + 1.0274389644160098e-14, + 5.94760887837348e-15, + 4.579412164778823e-15, + 2.5379101863791164e-15, + 2.423216290079241e-15 + ], + "status": "PASS" + }, + "TET4_WEDGE6_HEX8": { + "element_types": [ + "TET4", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8" + ], + "free_dof_count": 30, + "frequencies_hz": [ + 757.5028256542097, + 871.9146845914033, + 1121.0686449623518, + 1612.216428759423, + 2066.447243299222, + 2235.72459515029 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 757.5028256542058, + 871.9146845914029, + 1121.0686449623395, + 1612.2164287594287, + 2066.4472432992216, + 2235.724595150288 + ], + "input_digest": "e2445113d22a6a70cd83639a889408430dea5834ebbb9b998c32b2b351875bfa", + "mass_orthogonality_error": 3.9578498278185875e-16, + "maximum_relative_frequency_error": 1.0952209330898732e-14, + "maximum_relative_residual": 7.714140072231404e-14, + "modal_mass_normalization_error": 1.1102230246251565e-15, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 0.9999999999999998, + "reference": 0 + }, + { + "candidate": 1, + "mac": 1.0000000000000002, + "reference": 1 + }, + { + "candidate": 2, + "mac": 0.9999999999999992, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0000000000000002, + "reference": 4 + }, + { + "candidate": 5, + "mac": 0.9999999999999998, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 0.9999999999999996 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 1.0000000000000004 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 0.9999999999999993 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999993, + "minimum_individual_mac": 0.9999999999999992, + "mode_ordered": true + }, + "name": "WP08B_TET4_WEDGE6_HEX8", + "node_count": 26, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 7.714140072231404e-14, + 2.8147182115413722e-14, + 2.5643389111024934e-14, + 1.606407440727402e-14, + 4.4527515199985676e-15, + 5.588438448014114e-15 + ], + "status": "PASS" + }, + "WEDGE6_HEX8": { + "element_types": [ + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8", + "WEDGE6", + "HEX8" + ], + "free_dof_count": 30, + "frequencies_hz": [ + 716.8217120062772, + 836.3596774350925, + 1064.3272051979116, + 1586.3151600357755, + 2082.3767955713065, + 2229.523012629844 + ], + "frequency_count": 6, + "independent_reference_frequencies_hz": [ + 716.821712006279, + 836.3596774350963, + 1064.3272051979106, + 1586.3151600357803, + 2082.3767955713097, + 2229.5230126298425 + ], + "input_digest": "c1a8b889fbd6e89d68babd3f17fba1b484e7dfc806b2b5c06aabac948ab56a4d", + "mass_orthogonality_error": 3.5696072583086262e-16, + "maximum_relative_frequency_error": 4.485708417123526e-15, + "maximum_relative_residual": 4.675434786531455e-14, + "modal_mass_normalization_error": 6.661338147750939e-16, + "mode_matching": { + "assignment": [ + { + "candidate": 0, + "mac": 1.0000000000000002, + "reference": 0 + }, + { + "candidate": 1, + "mac": 0.9999999999999998, + "reference": 1 + }, + { + "candidate": 2, + "mac": 1.0000000000000002, + "reference": 2 + }, + { + "candidate": 3, + "mac": 1.0, + "reference": 3 + }, + { + "candidate": 4, + "mac": 1.0000000000000002, + "reference": 4 + }, + { + "candidate": 5, + "mac": 1.0, + "reference": 5 + } + ], + "cluster_assignment": [ + { + "candidate_modes": [ + 0 + ], + "reference_modes": [ + 0 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 1 + ], + "reference_modes": [ + 1 + ], + "subspace_mac": 0.9999999999999996 + }, + { + "candidate_modes": [ + 2 + ], + "reference_modes": [ + 2 + ], + "subspace_mac": 1.0000000000000009 + }, + { + "candidate_modes": [ + 3 + ], + "reference_modes": [ + 3 + ], + "subspace_mac": 0.9999999999999996 + }, + { + "candidate_modes": [ + 4 + ], + "reference_modes": [ + 4 + ], + "subspace_mac": 0.9999999999999991 + }, + { + "candidate_modes": [ + 5 + ], + "reference_modes": [ + 5 + ], + "subspace_mac": 0.9999999999999996 + } + ], + "matching_method": "individual MAC with subspace MAC for numerically degenerate eigenvalue clusters", + "minimum_assigned_mac": 0.9999999999999991, + "minimum_individual_mac": 0.9999999999999998, + "mode_ordered": true + }, + "name": "WP08B_WEDGE6_HEX8", + "node_count": 25, + "output_labels": { + "analysis": "modal", + "families": [ + "HEX8", + "WEDGE6" + ], + "normalization": "unit generalized mass" + }, + "relative_residuals": [ + 4.5698692574462786e-14, + 3.6519147485537615e-14, + 4.675434786531455e-14, + 1.1737365197934205e-14, + 5.430168875352326e-15, + 7.437588455223979e-15 + ], + "status": "PASS" + } + }, + "post_processing_output": { + "element_labels": { + "HEX8": 4, + "TET4": 1, + "WEDGE6": 4 + }, + "frequencies_finite": true, + "json_analysis": "modal", + "mode_rows": 6, + "status": "PASS", + "stress_modal_claim": false + }, + "predeclared_tolerances": { + "adjacent_frequency_relative": 0.1, + "geometry_coordinate_absolute": 1e-12, + "geometry_volume_relative": 1e-12, + "mapped_global_mac": 0.85, + "mapping_interface_disagreement_absolute": 1e-12, + "mapping_reconstruction_absolute": 1e-10, + "mass_conservation_relative": 1e-12, + "mass_symmetry_relative": 1e-12, + "modal_mass_orthogonality_relative": 1e-10, + "modal_residual_relative": 1e-08, + "near_degenerate_frequency_relative": 0.03, + "oracle_frequency_relative": 1e-09, + "pure_control_subspace_mac": 0.85, + "replay_frequency_absolute": 1e-12, + "replay_mode_absolute_after_sign": 1e-10 + }, + "pure_family_controls": { + "controls": { + "HEX8": { + "first_six_frequencies_hz": { + "1": [ + 654.7080902860578, + 654.7080902860617, + 887.0670159088427, + 1473.6726495150772, + 2411.1745256939907, + 2411.1745256939917 + ], + "2": [ + 647.4210977238413, + 651.7626540967543, + 887.06701590884, + 1470.6596755098783, + 2351.608792757413, + 2393.8354939871106 + ], + "4": [ + 636.3471000459821, + 650.7127499275829, + 868.3475510651209, + 1469.6539117056984, + 2229.6982811012335, + 2292.0341870264624 + ] + }, + "qualification_effect": "NONE; this is a protocol control, not an individual-family maturity decision.", + "status": "PASS_DIAGNOSTIC", + "transitions": [ + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.5384407025892743 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.5384108850703885 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9999999999999997 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9991781569969143 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.9310324256693954 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.9933982463298561 + } + ], + "coarse_level": 1, + "fine_level": 2, + "mac_matrix": [ + [ + 0.5384407025892743, + 0.4611845233237143, + 4.701729787453028e-30, + 1.7025494058448713e-30, + 3.820388960751375e-05, + 1.8718917489352666e-05 + ], + [ + 0.4612100640002028, + 0.5384108850703885, + 4.39896254685277e-29, + 5.478903796803798e-32, + 4.4601214864030765e-05, + 1.6033990542980634e-05 + ], + [ + 3.981563035790935e-29, + 1.3558694796812668e-29, + 0.9999999999999997, + 9.576402271100137e-32, + 3.185989082214254e-31, + 1.6897643467973577e-34 + ], + [ + 1.418435667992248e-30, + 1.2824756688903394e-30, + 2.993349580438095e-32, + 0.9991781569969143, + 1.951470092333848e-30, + 9.306802942625274e-30 + ], + [ + 3.843289589489865e-08, + 1.7723586406774663e-05, + 2.629919258462037e-31, + 3.792857350873465e-30, + 0.9310324256693954, + 0.001748921677518613 + ], + [ + 2.183012073932232e-05, + 3.120316004637152e-08, + 6.748922322358768e-32, + 1.115868150484172e-29, + 0.0016391238838422103, + 0.9933982463298561 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 1, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 12 + }, + "minimum_assigned_mac": 0.5384108850703885, + "subspace_checks": [ + { + "coarse_modes": [ + 0, + 1 + ], + "fine_modes": [ + 0, + 1 + ], + "minimum_subspace_mac": 0.9995954083941033, + "status": "PASS" + }, + { + "coarse_modes": [ + 4, + 5 + ], + "fine_modes": [ + 4, + 5 + ], + "minimum_subspace_mac": 0.9326715495532375, + "status": "PASS" + } + ] + }, + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9995006179028916 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.9999649365015398 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.998938550758522 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9999105608751033 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 4.1048622776267554e-30 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.984642458805719 + } + ], + "coarse_level": 2, + "fine_level": 4, + "mac_matrix": [ + [ + 0.9995006179028916, + 1.383147505477452e-26, + 3.998246472066428e-28, + 6.863295991400182e-32, + 3.507868150436303e-30, + 0.00017609049292429185 + ], + [ + 1.3672565252255236e-26, + 0.9999649365015398, + 9.24296289436076e-28, + 3.4853626014256896e-31, + 1.1276846092851924e-30, + 5.2973202233905185e-31 + ], + [ + 3.9701299831332734e-28, + 9.171153501821283e-28, + 0.998938550758522, + 1.28646953713436e-29, + 4.47772308597078e-05, + 9.986814605856535e-31 + ], + [ + 5.281817142267804e-32, + 2.2286594522285893e-31, + 1.3041940479772208e-29, + 0.9999105608751033, + 3.0201266848636677e-31, + 1.0617227690277594e-29 + ], + [ + 1.762705109224551e-30, + 3.411138552921568e-06, + 3.9376704172639164e-30, + 5.385519076708031e-32, + 4.1048622776267554e-30, + 1.337528264646614e-26 + ], + [ + 0.00012437039886266816, + 1.95598476757101e-30, + 2.580334971412232e-31, + 9.084295412475272e-30, + 3.852453647102799e-27, + 0.984642458805719 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 2, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 20 + }, + "minimum_assigned_mac": 4.1048622776267554e-30, + "subspace_checks": [ + { + "coarse_modes": [ + 0, + 1 + ], + "fine_modes": [ + 0, + 1 + ], + "minimum_subspace_mac": 0.9995006179028925, + "status": "PASS" + }, + { + "coarse_modes": [ + 4, + 5 + ], + "fine_modes": [ + 4, + 5 + ], + "minimum_subspace_mac": 4.2843437006564844e-30, + "status": "FAIL" + } + ] + } + ] + }, + "TET4": { + "first_six_frequencies_hz": { + "1": [ + 752.6974013190952, + 794.8627760645733, + 1518.8732047075273, + 1690.909123437808, + 2378.12948753551, + 2575.9364436165065 + ], + "2": [ + 725.6021493546075, + 786.6816974669409, + 1522.3828145961359, + 1620.9084716306158, + 2481.261069369744, + 2571.003081478383 + ], + "4": [ + 711.4661024663861, + 787.1671734686182, + 1524.5136982643535, + 1588.2916104705444, + 2472.4290862929015, + 2532.2344349341706 + ] + }, + "qualification_effect": "NONE; this is a protocol control, not an individual-family maturity decision.", + "status": "PASS_DIAGNOSTIC", + "transitions": [ + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.7570938671289245 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.7469093564147411 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9966609111405228 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9635593305107267 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.912207238819458 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.9097887455431928 + } + ], + "coarse_level": 1, + "fine_level": 2, + "mac_matrix": [ + [ + 0.7570938671289245, + 0.2414309492839824, + 0.00012228690619061347, + 0.00041727707507481585, + 1.822689314089513e-08, + 0.0003926984367038969 + ], + [ + 0.25081333077884577, + 0.7469093564147411, + 0.000428080325622461, + 3.4267996283413606e-05, + 0.00017186361343113484, + 0.0011592296927124864 + ], + [ + 0.0011873190126967534, + 1.1617300742174671e-05, + 0.9966609111405228, + 0.0013631869359282272, + 6.544373813386714e-05, + 0.0002475162195861963 + ], + [ + 0.003149099878961558, + 0.017778391296873683, + 0.003830665026369362, + 0.9635593305107267, + 0.0052515516302030175, + 4.562968081724097e-06 + ], + [ + 0.0035811013079024767, + 0.004853600785676501, + 0.012877652989167019, + 0.00895706608981307, + 0.912207238819458, + 7.442254308691306e-05 + ], + [ + 0.0007948996047953537, + 0.004612834721049928, + 0.009849553142207944, + 0.0034124618122092928, + 0.026268142329958055, + 0.9097887455431928 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 6, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 12 + }, + "minimum_assigned_mac": 0.7469093564147411, + "subspace_checks": [] + }, + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9780175974524875 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.9782016108317642 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9991421965878601 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 0.9876330995408343 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.5870517221837441 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.6294897600359864 + } + ], + "coarse_level": 2, + "fine_level": 4, + "mac_matrix": [ + [ + 0.9780175974524875, + 0.021339846642916365, + 0.0001688446612234139, + 7.82801214606885e-05, + 2.6501641819924232e-06, + 0.0001354804787048193 + ], + [ + 0.021477219714797574, + 0.9782016108317642, + 5.40993516979116e-05, + 5.677207506394537e-05, + 0.00011231168248527687, + 4.835795855505118e-05 + ], + [ + 0.0004203876352107443, + 6.029873502508536e-06, + 0.9991421965878601, + 1.4212992396357418e-05, + 0.0001666262124853912, + 6.11719636476444e-05 + ], + [ + 0.00023917046781086064, + 0.0056841786508223194, + 0.00028936096923044103, + 0.9876330995408343, + 0.002108028812620044, + 0.0004299471040646209 + ], + [ + 0.0001233911242214953, + 0.000709517781464571, + 0.002558543975067705, + 0.00242614440630888, + 0.5870517221837441, + 0.38919509650874545 + ], + [ + 6.418456707176031e-06, + 0.0014913529093444433, + 0.004002992495939205, + 0.0010483916335174215, + 0.3310282025333005, + 0.6294897600359864 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 8, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 20 + }, + "minimum_assigned_mac": 0.5870517221837441, + "subspace_checks": [ + { + "coarse_modes": [ + 4 + ], + "fine_modes": [ + 4, + 5 + ], + "status": "NOT_COMPARABLE_CLUSTER_SIZE_CHANGED" + } + ] + } + ] + }, + "WEDGE6": { + "first_six_frequencies_hz": { + "1": [ + 1065.2205048069131, + 1254.5022046321176, + 2140.2211412428223, + 2172.8615566299964, + 3015.7665452440765, + 3676.6662825154494 + ], + "2": [ + 1051.3553674361094, + 1254.5022046321192, + 2121.0916765884185, + 2172.8615566299973, + 2920.5881817252885, + 3475.1037495350165 + ], + "4": [ + 1027.7381198980431, + 1254.5022046321171, + 2073.1980258660333, + 2113.1678897874817, + 2830.9396213311234, + 3329.064370381465 + ] + }, + "qualification_effect": "NONE; this is a protocol control, not an individual-family maturity decision.", + "status": "PASS_DIAGNOSTIC", + "transitions": [ + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9990693309193227 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 1.0000000000000002 + }, + { + "coarse_mode": 2, + "fine_mode": 2, + "mac": 0.9928837229030845 + }, + { + "coarse_mode": 3, + "fine_mode": 3, + "mac": 1.0000000000000002 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.9847381715553827 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.8075418838600839 + } + ], + "coarse_level": 1, + "fine_level": 2, + "mac_matrix": [ + [ + 0.9990693309193227, + 1.843180611184474e-29, + 1.5026212545317143e-31, + 3.143307662629305e-31, + 0.00033558999757485087, + 2.141813996110617e-32 + ], + [ + 1.7036367666062695e-29, + 1.0000000000000002, + 7.832507472327044e-31, + 6.1387913157791476e-30, + 4.613521769253659e-33, + 1.5844096674535547e-32 + ], + [ + 6.269525094547289e-32, + 1.0823462818826273e-30, + 0.9928837229030845, + 2.0358181782435133e-28, + 5.3295011134349e-31, + 0.003459032678381425 + ], + [ + 4.149929758988828e-31, + 5.409623942281356e-30, + 2.034769098077268e-28, + 1.0000000000000002, + 2.0617617246064133e-32, + 2.021963495676231e-31 + ], + [ + 0.00023089128321765963, + 3.462820070640219e-32, + 4.2446094487505185e-31, + 1.6758487548149815e-32, + 0.9847381715553827, + 3.0246677639202397e-32 + ], + [ + 5.006703942166797e-33, + 1.3610232913035852e-33, + 0.0007003419915512571, + 2.9979956470777975e-32, + 4.237826757009443e-32, + 0.8075418838600839 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 1, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 9 + }, + "minimum_assigned_mac": 0.8075418838600839, + "subspace_checks": [ + { + "coarse_modes": [ + 2, + 3 + ], + "fine_modes": [ + 2, + 3 + ], + "minimum_subspace_mac": 0.9928837229030845, + "status": "PASS" + } + ] + }, + { + "assignment": [ + { + "coarse_mode": 0, + "fine_mode": 0, + "mac": 0.9986330787636261 + }, + { + "coarse_mode": 1, + "fine_mode": 1, + "mac": 0.9999999999999998 + }, + { + "coarse_mode": 2, + "fine_mode": 3, + "mac": 0.998952095761971 + }, + { + "coarse_mode": 3, + "fine_mode": 2, + "mac": 0.9861359120657515 + }, + { + "coarse_mode": 4, + "fine_mode": 4, + "mac": 0.9861685286193732 + }, + { + "coarse_mode": 5, + "fine_mode": 5, + "mac": 0.9706357637931181 + } + ], + "coarse_level": 2, + "fine_level": 4, + "mac_matrix": [ + [ + 0.9986330787636261, + 4.102046577946178e-29, + 3.221101120269733e-30, + 3.1854095465919007e-31, + 0.0002416799232059702, + 2.1750589789603329e-32 + ], + [ + 4.006875433683606e-29, + 0.9999999999999998, + 1.773132778646877e-29, + 2.2220371392596398e-31, + 1.4254560122377732e-31, + 1.99283358461224e-32 + ], + [ + 7.227636265767336e-31, + 9.9005983513667e-32, + 6.9888386343451275e-28, + 0.998952095761971, + 1.7567215820884104e-29, + 0.0005108422597776391 + ], + [ + 2.664500067117887e-30, + 1.8073713541183356e-29, + 0.9861359120657515, + 7.0466215484169875e-28, + 1.7700999508685227e-30, + 7.90900964123739e-31 + ], + [ + 0.0001410858276149627, + 1.3261530240562808e-31, + 1.6452239226283726e-30, + 1.9521352353428448e-29, + 0.9861685286193732, + 1.3707098023404825e-31 + ], + [ + 3.2093205884342768e-31, + 1.1870450166053192e-31, + 4.79025897823686e-31, + 0.00038044395559327964, + 4.718344591403187e-31, + 0.9706357637931181 + ] + ], + "mapping": { + "extrapolation": false, + "maximum_containing_elements_at_one_node": 2, + "maximum_coordinate_reconstruction_error": 0.0, + "maximum_interface_field_disagreement": 0.0, + "target_node_count": 15 + }, + "minimum_assigned_mac": 0.9706357637931181, + "subspace_checks": [ + { + "coarse_modes": [ + 2, + 3 + ], + "fine_modes": [ + 2, + 3 + ], + "minimum_subspace_mac": 0.9861359120657517, + "status": "PASS" + } + ] + } + ] + } + }, + "status": "PASS" + }, + "record_id": "QF-028-WP08B-MIXED-MODAL-VNV", + "reference_oracle": { + "external": "NOT_AVAILABLE_AND_NOT_REQUIRED_FOR_THIS_BOUNDED_MIXED_ASSEMBLY_SCOPE", + "external_correlation_claimed": false, + "mass": "analytical rho*volume conservation", + "modal": "independent dense local-matrix scatter plus scipy.linalg.eigh", + "status": "PASS" + }, + "replay_determinism": { + "canonicalization": "eigenvector sign only; no mode permutation applied", + "digests": [ + "8fb4383e6a6f6a097f9a66417ccf7f1c34453fa97d84dbe134bb3b9a8bce4c9b", + "8fb4383e6a6f6a097f9a66417ccf7f1c34453fa97d84dbe134bb3b9a8bce4c9b" + ], + "eigenvalues_exactly_equal": true, + "maximum_frequency_absolute_difference": 0.0, + "maximum_mode_difference_after_sign_canonicalization": 0.0, + "required_replays": 2, + "status": "PASS" + }, + "root_cause": { + "primary": "MESH_TO_MESH_MAPPING_PROBLEM", + "secondary": "GEOMETRIC_DISCRETIZATION_EFFECT", + "wp08_evidence_rewritten": false, + "wp08_gate_changed": false + }, + "schema_version": 1, + "scope": { + "analysis": "modal", + "excluded": [ + "lumped or concentrated-mass qualification", + "Newmark", + "harmonic", + "nonlinear", + "contact", + "nonconforming interfaces", + "TET10/HEX20 mixed", + "PYRAMID5", + "large mixed performance", + "universal all-frequency or modal-stress claim" + ], + "families": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "interfaces": "conforming shared-node triangular and quadrilateral interfaces only", + "mass": "consistent translational finite-element mass only", + "material": "homogeneous isotropic_3d with positive density", + "modes": "first six positive modes in the invariant physical chain" + }, + "status": "CAMPAIGN_COMPLETE_OWNER_GATE_PENDING", + "technical_decision": "QUALIFIED_BOUNDED_CANDIDATE", + "work_package": "WP08B", + "wp08_evidence_changed": false +} diff --git a/qualification/0_2_8/wp08b_owner_gate_final.json b/qualification/0_2_8/wp08b_owner_gate_final.json new file mode 100644 index 00000000..a24d9622 --- /dev/null +++ b/qualification/0_2_8/wp08b_owner_gate_final.json @@ -0,0 +1,107 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP08B-OWNER-GATE-FINAL", + "work_package": "WP08B", + "applicable_version": "0.2.8-development", + "audited_commit": "35d2debbd414917ac31d2b2d945df1132737eae5", + "status": "CLOSED_WITH_APPROVE_WITH_LIMITATIONS", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "technical_evidence": [ + { + "path": "qualification/0_2_8/wp08b_root_cause_audit.json", + "sha256": "37b91540bd62502fd8bbcab0bd7d88d41f12af3a559842723acb01e494547769" + }, + { + "path": "qualification/0_2_8/wp08b_mixed_modal_contract.json", + "sha256": "b465518278f04b2e5ce00f8bac76ffe25cfd2d046d4614aeb28e23190d27ce84" + }, + { + "path": "qualification/0_2_8/wp08b_mixed_modal_vnv.json", + "sha256": "877b6394f6ce7950d3c8af8a0254a0885743d359438d48eabb749f8f5aabc8ba" + }, + { + "path": "qualification/0_2_8/wp08b_mixed_modal_matrix.json", + "sha256": "d755c917dabb71276439591148ca56b0a47d4195c1a7fbba80af6042e20e7513" + }, + { + "path": "docs/verification/0_2_8/wp08b_mixed_modal_vnv.md", + "sha256": "af6bdf40d48ab2a76b34c85e1638ab392f106bdb087fe02d72774418a1f664c3" + } + ], + "audit_checks": { + "predeclared_scope": "PASS", + "mesh_to_mesh_mapping_validity": "PASS", + "mass_weighted_mac_validity": "PASS", + "new_contract_independence": "PASS", + "old_wp08_gate_unchanged": "PASS", + "frequency_and_global_mode_matching": "PASS", + "mode_residuals": "PASS", + "orthogonality": "PASS", + "mass_assembly_and_conservation": "PASS", + "interface_continuity_and_robustness": "PASS", + "deterministic_replays": "PASS", + "reference_oracle_independence": "PASS_WITH_LIMITATIONS", + "claim_evidence_coherence": "PASS_WITH_LIMITATIONS", + "opportunistic_numerical_core_change": "NOT_FOUND", + "historical_0_2_7_evidence_integrity": "PASS", + "element_analysis_registry_reconciliation": "PASS" + }, + "decision_policy": "APPROVE_WITH_LIMITATIONS applies only to the dedicated mixed_workflow_qualification record. It does not add a route to the 46 element-analysis records and does not establish general modal accuracy.", + "decision": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "mixed_modal_final_status": "QUALIFIED_BOUNDED", + "scope": "modal linear only; fixed x=0 base; conforming shared-node triangular and quadrilateral interfaces; TET4, WEDGE6 and HEX8; small-strain homogeneous isotropic elasticity; consistent translational finite-element mass; first six positive modes; refinement levels 1, 2, 4 and 8; and valid geometries in the already qualified elementary domains.", + "limitations": [ + "The result is a bounded workflow qualification for the tested fixed-base chain, not a universal mixed-modal or all-frequency claim.", + "The WP08B contract uses shape-function field prolongation with no extrapolation and a fine consistent-mass inner product; the original WP08 shared-node MAC gate of 0.5 remains unchanged and its 0.1028 failure remains historical evidence.", + "The independent dense local-matrix scatter/eigensolve plus analytical mass conservation is sufficient for the declared assembly scope; no external industrial-solver correlation is claimed.", + "No modal stress, lumped/concentrated mass, Newmark, harmonic, nonlinear, contact, nonconforming/hanging-node/MPC/RBE interface, TET10/HEX20, PYRAMID5, large-model performance or universal all-frequency claim is made." + ], + "reference_oracle_sufficient_for_bounded_scope": true, + "external_correlation_required_for_bounded_scope": false + }, + "registry_separation": { + "element_analysis_registry": "qualification/0_2_7/capability_registry_v2.json", + "element_analysis_registry_total": 46, + "source_registry_counts": { + "QUALIFIED_BOUNDED": 20, + "EXPERIMENTAL": 25, + "NOT_QUALIFIED": 1 + }, + "cumulative_0_2_8_counts_after_wp06b": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 13, + "NOT_QUALIFIED": 1, + "TOTAL": 46 + }, + "mixed_workflow_record": "qualification/0_2_8/wp08b_mixed_modal_matrix.json", + "mixed_workflow_record_kind": "mixed_workflow_qualification", + "mixed_workflow_added_to_combination_registry": false, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + }, + "integrity": { + "claims_bounded": true, + "evidence_integrity": "PASS", + "numerical_source_changed": false, + "historical_0_2_7_evidence_changed": false, + "wp08_initial_gate_changed": false, + "wp08_initial_evidence_rewritten": false, + "wp08b_campaign_evidence_rewritten": false, + "owner_decision_applied_only_to_0_2_8": true + }, + "final_matrix": "qualification/0_2_8/wp08b_mixed_modal_matrix.json", + "documentation": "docs/verification/0_2_8/wp08b_owner_gate_final.md", + "summary": { + "owner_decision": "APPROVE_WITH_LIMITATIONS", + "mixed_workflow_status": "QUALIFIED_BOUNDED", + "element_analysis_registry_total": 46, + "qualified_bounded_global": 32, + "experimental_global": 13, + "not_qualified_global": 1, + "not_qualified_combination": "COMB-HEX8-linear_buckling" + } +} diff --git a/qualification/0_2_8/wp08b_root_cause_audit.json b/qualification/0_2_8/wp08b_root_cause_audit.json new file mode 100644 index 00000000..55eed26e --- /dev/null +++ b/qualification/0_2_8/wp08b_root_cause_audit.json @@ -0,0 +1,74 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP08B-ROOT-CAUSE-AUDIT", + "work_package": "WP08B", + "applicable_version": "0.2.8-development", + "baseline_sha": "59a438bc0d58ee32d35e084dd091eefe78418bb6", + "parent_records": [ + "qualification/0_2_8/wp08_mixed_modal_contract.json", + "qualification/0_2_8/wp08_mixed_modal_vnv.json", + "qualification/0_2_8/wp08_mixed_modal_matrix.json" + ], + "status": "ROOT_CAUSE_CONFIRMED", + "classification": { + "primary": "MESH_TO_MESH_MAPPING_PROBLEM", + "secondary": "GEOMETRIC_DISCRETIZATION_EFFECT", + "true_modal_nonconvergence": "NOT_DEMONSTRATED", + "mode_crossing": "NOT_OBSERVED_IN_MIXED_FIRST_SIX", + "near_degenerate_subspace": "NOT_OBSERVED_IN_MIXED_FIRST_SIX; observed only in pure-HEX8 diagnostic controls", + "mode_ordering_problem": "NOT_OBSERVED_AFTER_GLOBAL_ASSIGNMENT", + "normalization_problem": "NOT_OBSERVED", + "mac_implementation_problem": "NOT_OBSERVED; the WP08 MAC denominator correction is retained", + "unknown": false + }, + "wp08_refinement_construction": { + "implementation": "mixed_model(segments) selected element rows by fixed indices (0, 1, 2), so levels above one retained only the first WEDGE6 and first HEX8.", + "mechanical_geometry_preserved": false, + "levels": { + "1": {"element_count": 3, "node_count": 11, "dof_count": 33, "total_volume": 1.6666666666666665}, + "2": {"element_count": 3, "node_count": 11, "dof_count": 33, "total_volume": 0.9166666666666665}, + "4": {"element_count": 3, "node_count": 11, "dof_count": 33, "total_volume": 0.5416666666666665}, + "8": {"element_count": 3, "node_count": 11, "dof_count": 33, "total_volume": 0.35416666666666663} + }, + "conclusion": "The WP08 levels were different mechanical domains, not an h-refinement sequence. Their frequency and MAC comparison cannot establish modal convergence." + }, + "mapping_audit": { + "wp08_method": "Direct Euclidean MAC on only coincident nodal displacement samples.", + "limitation": "The sampled vectors were not fields represented on one finite-element space and were not compared with a common mass inner product.", + "required_follow_up": "Prolong the coarse finite-element mode to every fine-mesh node by element shape functions, then compute the global assignment MAC with the fine consistent mass matrix.", + "normalization": "Production modes are generalized-mass normalized. The mapped coarse vectors must be normalized in the fine-mass inner product before any MAC or subspace comparison." + }, + "corrected_geometry_diagnostic": { + "construction": "Keep the TET4 and every WEDGE6/HEX8 segment generated by the common physical chain.", + "levels": { + "1": {"element_count": 3, "node_count": 11, "dof_count": 33, "total_volume": 1.6666666666666665}, + "2": {"element_count": 5, "node_count": 16, "dof_count": 48, "total_volume": 1.6666666666666663}, + "4": {"element_count": 9, "node_count": 26, "dof_count": 78, "total_volume": 1.6666666666666665}, + "8": {"element_count": 17, "node_count": 46, "dof_count": 138, "total_volume": 1.6666666666666663} + }, + "first_six_frequencies_hz": { + "1": [779.2970010584501, 876.0645186655587, 1139.4548515471656, 1616.6196599993436, 2207.4327397382967, 2285.4134048737073], + "2": [770.1501773100679, 873.1117664028217, 1136.2714808767102, 1613.7095353038647, 2187.600146978595, 2263.219781669788], + "4": [757.502792488193, 871.9146803122738, 1121.0686456162735, 1612.216444180596, 2066.4472028098013, 2235.724631200027], + "8": [753.3363448906928, 871.5747414855285, 1116.1859979267645, 1611.750223835913, 2032.606054996996, 2228.093929743293] + }, + "coarse_to_fine_minimum_global_mac": { + "1_to_2": 0.9750632149681868, + "2_to_4": 0.9036534290771685, + "4_to_8": 0.9979137182657807 + }, + "assignment": "identity for all six mixed modes at all three transitions", + "conclusion": "The corrected physical refinement is stable under a mapped, fine-mass MAC comparison." + }, + "follow_up_authorized": { + "new_contract_required": true, + "reason": "The WP08 refinement comparator did not compare like physical domains and did not establish a common finite-element inner product. A separate predeclared WP08B campaign is required; WP08 gates and evidence remain read-only.", + "numerical_source_change_authorized": false, + "owner_gate_may_be_requested_only_if_all_new_gates_pass": true + }, + "integrity": { + "wp08_evidence_rewritten": false, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": false + } +} diff --git a/qualification/0_2_8/wp09_pyramid5_contract.json b/qualification/0_2_8/wp09_pyramid5_contract.json new file mode 100644 index 00000000..521a3944 --- /dev/null +++ b/qualification/0_2_8/wp09_pyramid5_contract.json @@ -0,0 +1,54 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP09-PYRAMID5-CONTRACT", + "work_package": "WP09", + "applicable_version": "0.2.8-development", + "baseline_sha": "8daed7e0c6e11b79e6ad8f88a7c2da859c7eeac6", + "status": "PREDECLARED_FEASIBILITY_CONTRACT", + "formulation": { + "family": "PYRAMID5", + "reference_coordinates": "collapsed (r, s, t) in [-1,1] x [-1,1] x [0,1], with physical reference map ((1-t)r, (1-t)s,t)", + "node_order": "counter-clockwise QUAD4 base nodes 0..3 followed by apex node 4", + "shape_functions": "N0..N3=(1-t)(1+/-r)(1+/-s)/4; N4=t", + "derivative_at_apex": "not evaluated; collapsed-coordinate derivatives/Jacobian are singular there", + "production_quadrature": "Gauss-Legendre 3 x 3 x 4 on collapsed coordinates", + "reference_quadrature": "Gauss-Legendre 5 x 5 x 6 on collapsed coordinates" + }, + "candidate_scope": { + "analysis": ["linear_static"], + "material": ["homogeneous isotropic_3d linear elasticity"], + "geometry": "convex planar QUAD4 base, non-coplanar apex and positive sampled Jacobians", + "loads": ["nodal", "body_force", "gravity", "pressure", "surface_traction"], + "faces": ["QUAD4 base", "four TRI3 sides"], + "transition": "conforming static HEX8/PYRAMID5/TET4 patch only", + "excluded": [ + "PYRAMID13", "modal", "Newmark", "harmonic", "nonlinear", "contact", + "SRI", "stabilization", "hourglass control", "nonconforming interfaces", + "hanging nodes", "MPC/RBE transitions", "general mixed workflow claim" + ] + }, + "tolerance_policy": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "kronecker_absolute": 1e-14, + "partition_unity_absolute": 1e-13, + "derivative_sum_absolute": 1e-13, + "affine_displacement_and_strain_relative": 1e-11, + "jacobian_positive_tolerance_scale": 1e-12, + "stiffness_symmetry_relative": 1e-12, + "positive_energy_relative_eigenvalue": 1e-8, + "expected_stiffness_rank": 9, + "production_reference_stiffness_relative": 1e-5, + "mass_conservation_relative": 1e-12, + "patch_reaction_energy_relative": 1e-10, + "interface_displacement_absolute": 1e-12, + "transition_equilibrium_relative": 1e-10, + "replay_digest_exact": true + }, + "decision_policy": "A passing campaign may yield FEASIBLE_CONTINUE or EXPERIMENTAL_BOUNDED_CANDIDATE only. It cannot qualify a production capability or alter WP07/WP08 mixed-workflow records.", + "integrity": { + "historical_0_2_7_evidence_changed": false, + "wp07_wp08_claims_changed": false, + "numerical_source_changed_at_contract_freeze": false + } +} diff --git a/qualification/0_2_8/wp09_pyramid5_matrix.json b/qualification/0_2_8/wp09_pyramid5_matrix.json new file mode 100644 index 00000000..4d0baef3 --- /dev/null +++ b/qualification/0_2_8/wp09_pyramid5_matrix.json @@ -0,0 +1,53 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP09-PYRAMID5-MATRIX", + "work_package": "WP09", + "applicable_version": "0.2.8-development", + "baseline_sha": "8daed7e0c6e11b79e6ad8f88a7c2da859c7eeac6", + "contract_record": "qualification/0_2_8/wp09_pyramid5_contract.json", + "evidence_record": "qualification/0_2_8/wp09_pyramid5_vnv.json", + "status": "FEASIBILITY_GATE_CLOSED_FEASIBLE_CONTINUE", + "technical_decision": "FEASIBLE_CONTINUE", + "public_maturity_policy": "No public maturity, compatibility-descriptor or capability-registry relabel is applied by WP09.", + "kernel": { + "implemented": true, + "family": "PYRAMID5", + "formulation": "five-node collapsed-coordinate isoparametric displacement pyramid", + "consistent_mass_implemented": true, + "gmsh_import": "PASS", + "faces": ["QUAD4 base", "four TRI3 sides"], + "geometry_validation": "positive sampled Jacobians in the bounded domain; invalid/folded/near-flat cases reject explicitly" + }, + "technical_gates": { + "elemental_mathematics": "PASS", + "affine_patch": "PASS", + "loads_reactions_energy": "PASS", + "post_processing": "PASS", + "geometric_robustness": "PASS_BOUNDED", + "hex8_pyramid5_tet4_conforming_transition": "PASS_FEASIBILITY_ONLY", + "replays": "PASS_2_DETERMINISTIC", + "coherent_h_refinement": "NOT_RUN", + "external_correlation": "NOT_AVAILABLE_NOT_CLAIMED" + }, + "scope": "Internal linear-static feasibility kernel only: homogeneous isotropic small-strain elasticity; convex planar QUAD4 base; non-coplanar apex; positive sampled Jacobians; nodal/body/gravity/pressure/surface-traction loads; and the tested conforming HEX8/PYRAMID5/TET4 patch.", + "limitations": [ + "The collapsed-coordinate Jacobian and derivatives are singular at the apex, which is never a derivative or quadrature point.", + "No coherent conforming PYRAMID5 h-refinement, convergence claim or external-solver correlation exists in WP09.", + "PYRAMID5 remains absent from the public compatibility descriptor and 0.2.7 capability registry; public solve dispatch remains fail-closed.", + "No modal, Newmark, harmonic, nonlinear, contact, SRI, stabilization, hourglass-control, nonconforming, hanging-node, MPC/RBE, PYRAMID13 or general transition-mesh claim is made.", + "The separate WP07/WP08 mixed-workflow records are unchanged." + ], + "registry_separation": { + "element_analysis_registry": "qualification/0_2_7/capability_registry_v2.json", + "element_analysis_registry_total": 46, + "added_to_element_analysis_registry": false, + "wp07_wp08_mixed_workflow_records_changed": false + }, + "integrity": { + "numerical_source_changed": true, + "historical_0_2_7_evidence_changed": false, + "claims_maturity_promoted": false, + "owner_gate_required": false + }, + "recommended_follow_up": "Only start a separately authorized PYRAMID5 maturation WP after defining a coherent conforming refinement family and an independent comparable oracle. PYRAMID5 is not a release blocker for 0.2.8." +} diff --git a/qualification/0_2_8/wp09_pyramid5_vnv.json b/qualification/0_2_8/wp09_pyramid5_vnv.json new file mode 100644 index 00000000..689a1a63 --- /dev/null +++ b/qualification/0_2_8/wp09_pyramid5_vnv.json @@ -0,0 +1,127 @@ +{ + "applicable_version": "0.2.8-development", + "baseline_sha": "8daed7e0c6e11b79e6ad8f88a7c2da859c7eeac6", + "contract": "qualification/0_2_8/wp09_pyramid5_contract.json", + "convergence": "NOT_RUN: a coherent conforming PYRAMID5 h-refinement is not established by this feasibility WP.", + "elemental_gates": { + "affine_strain_max_abs": 4.235164736271502e-22, + "analytical_mass_total": 10400.0, + "derivative_sum_max_abs": 6.938893903907228e-18, + "kronecker_max_abs": 0.0, + "mass_conservation_relative": 0.0, + "mass_total": 10400.0, + "minimum_positive_eigenvalue_relative": 0.05527575140896192, + "partition_unity_max_abs": 0.0, + "production_reference_mass_relative": 4.936916054189136e-16, + "production_reference_stiffness_relative": 6.405490002089081e-16, + "rigid_body_relative_residual": 4.1036404124733043e-17, + "sampled_minimum_det_j": 0.0011400916279895696, + "status": "PASS", + "stiffness_rank": 9, + "stiffness_symmetry_relative": 0.0, + "volume": 1.3333333333333333 + }, + "formulation": "collapsed-coordinate five-node isoparametric displacement pyramid", + "geometric_robustness": { + "invalid_cases": { + "coincident": "PYRAMID5_JACOBIAN_INVALID: coincident element nodes.", + "inverted": "PYRAMID5_JACOBIAN_INVALID: sampled minimum detJ -9.336096e-01 <= tolerance 8.000000e-12.", + "near_flat": "PYRAMID5_JACOBIAN_INVALID: sampled minimum detJ 1.140092e-16 <= tolerance 8.000000e-12." + }, + "status": "PASS", + "valid_cases": { + "apex_offset": "PASS", + "base_distorted": "PASS", + "reduced_height": "PASS", + "regular": "PASS" + } + }, + "gmsh_import": { + "element_type": "PYRAMID5", + "family": "PYRAMID5", + "status": "PASS" + }, + "independent_oracle": "analytical regular-pyramid volume/mass and exact affine displacement field; production rule compared to an independently denser reference rule", + "integrity": { + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": true, + "wp07_wp08_claims_changed": false + }, + "limitations": [ + "No production qualification, maturity promotion or public capability claim is made.", + "The kernel is limited to the predeclared small-strain isotropic linear-static scope.", + "The conforming HEX8/PYRAMID5/TET4 patch is a feasibility check and does not modify WP07/WP08 workflows.", + "No coherent PYRAMID5 mesh-refinement or external-solver correlation is claimed." + ], + "loads": { + "body_resultant": [ + 0.0, + 0.0, + -4.0 + ], + "body_resultant_relative": 0.0, + "expected_body_resultant": [ + 0.0, + 0.0, + -4.0 + ], + "status": "PASS", + "surface_traction_vector_norms": { + "0": 4.582575694955839, + "1": 1.870828693386971, + "2": 1.870828693386971, + "3": 1.870828693386971, + "4": 1.8708286933869713 + } + }, + "patch_tests": { + "displacement_max_abs_error": 0.0, + "energy_identity_relative": 0.0, + "force_balance_relative": 2.7235299766648143e-16, + "free_residual_relative": 0.0, + "post_processing": "PASS", + "status": "PASS", + "strain_max_abs_error": 4.235164736271502e-22, + "stress_relative_error": 2.493329292846756e-34 + }, + "record_id": "QF-028-WP09-PYRAMID5-VNV", + "replay_determinism": { + "digests": [ + "37a2eb2b26bf8602abf7916d93736d720b7af9c2315cc5e6ca09ff4f86c634b1", + "37a2eb2b26bf8602abf7916d93736d720b7af9c2315cc5e6ca09ff4f86c634b1" + ], + "required_replays": 2, + "status": "PASS" + }, + "schema_version": 1, + "status": "CAMPAIGN_COMPLETE_FEASIBILITY_GATE", + "technical_decision": "FEASIBLE_CONTINUE", + "transition_feasibility": { + "affine_displacement_max_abs_error": 2.149953074129294e-22, + "duplicate_global_dofs": false, + "element_types": [ + "HEX8", + "PYRAMID5", + "TET4" + ], + "energy_identity_relative": 5.551115123125783e-17, + "force_balance_relative": 1.1797721263035747e-16, + "mesh_errors": [], + "mesh_status": "PASS", + "shared_interface_nodes": { + "HEX8_PYRAMID5": [ + 0, + 1, + 2, + 3 + ], + "PYRAMID5_TET4": [ + 0, + 1, + 4 + ] + }, + "status": "PASS" + }, + "work_package": "WP09" +} diff --git a/qualification/0_2_8/wp10_hex8_sri_contract.json b/qualification/0_2_8/wp10_hex8_sri_contract.json new file mode 100644 index 00000000..66b14194 --- /dev/null +++ b/qualification/0_2_8/wp10_hex8_sri_contract.json @@ -0,0 +1,63 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP10-HEX8-SRI-CONTRACT", + "work_package": "WP10", + "baseline_sha": "324e496c125d55d6925309ee791faaedcead3039", + "status": "PREDECLARED_RESEARCH_GATE", + "objective": "Study a separate HEX8 selective reduced integration research variant without changing standard HEX8.", + "standard_hex8": { + "implementation": "src/solveur/elements/solid/hex8.py", + "integration": "complete 2x2x2 Gauss", + "must_remain_unchanged": true + }, + "formulation": { + "scope": "isotropic linear small-strain elasticity only", + "deviatoric_rule": "complete 2x2x2 Gauss", + "volumetric_rule": "one element-centre point", + "kernel": "Cdev full integration plus Cvol centre integration", + "public_registry": false, + "hourglass_control": false, + "hex8r": false + }, + "baseline_cases": [ + { + "id": "WP10-BEND-NU030", + "family": "bending_dominated", + "geometry": "cantilever L=20, W=1, H=1; structured HEX8 nx=4,8,16 and ny=nz=2", + "material": "E=1e6, nu=0.30", + "load": "unit vertical nodal resultant distributed over the free end", + "oracle": "Timoshenko slender-beam tip displacement", + "observable": "free-end displacement and strain energy" + }, + { + "id": "WP10-BEND-NU04999", + "family": "nearly_incompressible_bending", + "geometry": "same cantilever and refinements", + "material": "E=1e6, nu=0.4999", + "load": "same unit vertical free-end resultant", + "oracle": "Timoshenko slender-beam tip displacement", + "observable": "free-end displacement and strain energy" + } + ], + "predeclared_gates": { + "patch_affine_absolute": 1e-11, + "constant_strain_absolute": 1e-11, + "symmetry_relative": 1e-12, + "rigid_body_relative": 1e-10, + "energy_identity_relative": 1e-10, + "invalid_geometry": "explicit rejection", + "rank": "exactly six numerical rigid-body null modes within 1e-10 of max eigenvalue and no additional null mode above that threshold", + "locking_reduction": "fine-level (nx=16) relative displacement error reduction >= 0.50 for nu=0.4999, with no SRI instability gate failure", + "mesh_convergence": "SRI and standard records are finite at all three levels; SRI fine error does not increase versus the preceding level", + "replay": "two identical machine-readable campaign digests", + "post_observation_retuning": false + }, + "excluded": [ + "standard HEX8 modification", + "HEX8R", + "hourglass control", + "anisotropic or nonlinear materials", + "modal, Newmark, harmonic, buckling and mixed-large workflows", + "QUALIFIED_BOUNDED promotion" + ] +} diff --git a/qualification/0_2_8/wp10_hex8_sri_matrix.json b/qualification/0_2_8/wp10_hex8_sri_matrix.json new file mode 100644 index 00000000..4800af4b --- /dev/null +++ b/qualification/0_2_8/wp10_hex8_sri_matrix.json @@ -0,0 +1,29 @@ +{ + "baseline_sha": "324e496c125d55d6925309ee791faaedcead3039", + "evidence": "qualification/0_2_8/wp10_hex8_sri_vnv.json", + "integrity": { + "hex8_standard_changed": false, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": true, + "wp07_wp09_claims_changed": false + }, + "limitations": [ + "Affine strain and energy pass, but the centre-only volumetric term changes the affine nodal force action.", + "No general patch-force, industrial external-correlation or production performance claim is made." + ], + "owner_gate_required": true, + "owner_decision": "APPROVE_EXPERIMENTAL_BOUNDED", + "public_exposure": "EXPERIMENTAL_BOUNDED as a separate documented research capability; no maturity promotion of standard HEX8", + "proposed_maturity": "EXPERIMENTAL_BOUNDED_CANDIDATE", + "public_promotion": false, + "record_id": "QF-028-WP10-HEX8-SRI-MATRIX", + "registry_separation": { + "element_analysis_registry_46_changed": false, + "hex8_sri_public_registry_entry": false, + "public_hex8_standard_unchanged": true + }, + "schema_version": 1, + "scope": "Internal isotropic small-strain linear-static HEX8 SRI research candidate on the tested bending and nearly-incompressible structured meshes.", + "technical_decision": "EXPERIMENTAL_BOUNDED_CANDIDATE", + "work_package": "WP10" +} diff --git a/qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json b/qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json new file mode 100644 index 00000000..c4d40ced --- /dev/null +++ b/qualification/0_2_8/wp10_hex8_sri_owner_gate_final.json @@ -0,0 +1,47 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP10-HEX8-SRI-OWNER-GATE", + "work_package": "WP10", + "source_sha": "a4eb1e0dd8eb5218aeb8d23e917ddeec44f88c6b", + "decision": "APPROVE_EXPERIMENTAL_BOUNDED", + "final_status": "EXPERIMENTAL_BOUNDED", + "public_exposure": { + "status": "APPROVED_AS_SEPARATE_EXPERIMENTAL_CAPABILITY", + "standard_hex8_replaced": false, + "element_analysis_registry_46_changed": false, + "public_descriptor_entry": "separate opt-in research capability only" + }, + "scope": "HEX8-SRI; linear static only; isotropic small-strain elasticity; structured bending cases in the executed domain; documented locking reduction only.", + "audit": { + "formulation_valid": true, + "decomposition": "deviatoric 2x2x2 plus volumetric 1x1x1", + "locking_reduction": { + "nu_0_30": 0.760086780505788, + "nu_0_4999": 0.6189528045408431, + "gate": 0.5 + }, + "rank_and_zero_energy": "PASS; six rigid-body null modes and no additional null mode in regular/distorted probes", + "stability": "PASS", + "mesh_convergence": "PASS; SRI error non-increasing at levels 4, 8 and 16", + "energy": "PASS_WITH_LIMITATIONS; local energy identity passes, global Timoshenko error remains bounded and case-specific", + "distortion": "PASS_BOUNDED", + "oracle": "SUFFICIENT_FOR_EXPERIMENTAL_SCOPE; independent Timoshenko oracle, no external correlation claimed", + "affine_nodal_force_action": "LIMITATION; relative diagnostic 0.8749534857084776", + "replays": "PASS_2_DETERMINISTIC", + "non_regression": "PASS; standard HEX8 source unchanged" + }, + "limitations": [ + "No production-use claim.", + "No universal incompressibility or universal locking-cure claim.", + "No general affine patch-force qualification.", + "No arbitrary-distortion, nonlinear, dynamic, contact, HEX8R or hourglass-control scope.", + "No external correlation claim." + ], + "integrity": { + "numerical_source_changed": false, + "hex8_standard_changed": false, + "historical_0_2_7_evidence_changed": false, + "wp07_wp09_claims_changed": false + }, + "owner_gate_required_for": "Any future maturity promotion or expansion beyond this experimental bounded record" +} diff --git a/qualification/0_2_8/wp10_hex8_sri_vnv.json b/qualification/0_2_8/wp10_hex8_sri_vnv.json new file mode 100644 index 00000000..402e5aad --- /dev/null +++ b/qualification/0_2_8/wp10_hex8_sri_vnv.json @@ -0,0 +1,386 @@ +{ + "baseline_locking_cases": [ + "bending_nu030", + "nearly_incompressible_nu04999" + ], + "baseline_sha": "324e496c125d55d6925309ee791faaedcead3039", + "campaign": { + "cases": { + "bending_nu030": { + "sri": [ + { + "distorted": false, + "element_count": 16, + "energy": 0.0015809216232498138, + "finite": true, + "free_residual_relative": 3.769458594256392e-12, + "global_dof_count": 135, + "local_stiffness_rule_evaluations": 9, + "max_strain": 5.976854159166164e-06, + "max_stress": 10.847874602086721, + "node_count": 45, + "nu": 0.3, + "nx": 4, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160312, + "reference_tip_displacement": -0.0320624, + "relative_displacement_error": 0.9013846983853666, + "relative_energy_error": 0.9013846983850359, + "sri": true, + "tip_displacement": -0.003161843246489021 + }, + { + "distorted": false, + "element_count": 32, + "energy": 0.005502415188126883, + "finite": true, + "free_residual_relative": 1.7110942549910415e-11, + "global_dof_count": 243, + "local_stiffness_rule_evaluations": 9, + "max_strain": 2.0158071073789157e-05, + "max_stress": 42.482302545200206, + "node_count": 81, + "nu": 0.3, + "nx": 8, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160312, + "reference_tip_displacement": -0.0320624, + "relative_displacement_error": 0.6567683524533172, + "relative_energy_error": 0.656768352454783, + "sri": true, + "tip_displacement": -0.011004830376300763 + }, + { + "distorted": false, + "element_count": 64, + "energy": 0.014507707667993527, + "finite": true, + "free_residual_relative": 3.540318800607793e-11, + "global_dof_count": 459, + "local_stiffness_rule_evaluations": 9, + "max_strain": 5.5734154163051017e-05, + "max_stress": 124.06569765799631, + "node_count": 153, + "nu": 0.3, + "nx": 16, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160312, + "reference_tip_displacement": -0.0320624, + "relative_displacement_error": 0.09503295647345253, + "relative_energy_error": 0.09503295648525827, + "sri": true, + "tip_displacement": -0.029015415336365574 + } + ], + "standard": [ + { + "distorted": false, + "element_count": 16, + "energy": 0.001495749049584584, + "finite": true, + "free_residual_relative": 8.496326669255272e-12, + "global_dof_count": 135, + "local_stiffness_rule_evaluations": 8, + "max_strain": 5.6532912222136195e-06, + "max_stress": 5.880073481393106, + "node_count": 45, + "nu": 0.3, + "nx": 4, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160312, + "reference_tip_displacement": -0.0320624, + "relative_displacement_error": 0.9066976240338656, + "relative_energy_error": 0.906697624034097, + "sri": false, + "tip_displacement": -0.0029914980991765892 + }, + { + "distorted": false, + "element_count": 32, + "energy": 0.004613644981092582, + "finite": true, + "free_residual_relative": 1.859931431068575e-11, + "global_dof_count": 243, + "local_stiffness_rule_evaluations": 8, + "max_strain": 1.655471215559151e-05, + "max_stress": 18.53268014885326, + "node_count": 81, + "nu": 0.3, + "nx": 8, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160312, + "reference_tip_displacement": -0.0320624, + "relative_displacement_error": 0.7122083823392729, + "relative_energy_error": 0.7122083823361581, + "sri": false, + "tip_displacement": -0.009227289962085296 + }, + { + "distorted": false, + "element_count": 64, + "energy": 0.009681019150973818, + "finite": true, + "free_residual_relative": 5.6702118320165365e-11, + "global_dof_count": 459, + "local_stiffness_rule_evaluations": 8, + "max_strain": 3.714494092428499e-05, + "max_stress": 38.56611475982644, + "node_count": 153, + "nu": 0.3, + "nx": 16, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160312, + "reference_tip_displacement": -0.0320624, + "relative_displacement_error": 0.3961138809849752, + "relative_energy_error": 0.39611388099619377, + "sri": false, + "tip_displacement": -0.01936203830230733 + } + ] + }, + "nearly_incompressible_nu04999": { + "sri": [ + { + "distorted": false, + "element_count": 16, + "energy": 0.0017055147406024583, + "finite": true, + "free_residual_relative": 3.5909721227956682e-09, + "global_dof_count": 135, + "local_stiffness_rule_evaluations": 9, + "max_strain": 7.3823770345885254e-06, + "max_stress": 64.37303589745648, + "node_count": 45, + "nu": 0.4999, + "nx": 4, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160359976, + "reference_tip_displacement": -0.0320719952, + "relative_displacement_error": 0.8936446125177369, + "relative_energy_error": 0.8936446123811806, + "sri": true, + "tip_displacement": -0.003411029476825282 + }, + { + "distorted": false, + "element_count": 32, + "energy": 0.005176218343388331, + "finite": true, + "free_residual_relative": 8.8518827897173e-09, + "global_dof_count": 243, + "local_stiffness_rule_evaluations": 9, + "max_strain": 2.212249306493562e-05, + "max_stress": 211.6589438204502, + "node_count": 81, + "nu": 0.4999, + "nx": 8, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160359976, + "reference_tip_displacement": -0.0320719952, + "relative_displacement_error": 0.6772125752782441, + "relative_energy_error": 0.6772125768222658, + "sri": true, + "tip_displacement": -0.010352436736296518 + }, + { + "distorted": false, + "element_count": 64, + "energy": 0.010730955846595757, + "finite": true, + "free_residual_relative": 1.1270791077212468e-08, + "global_dof_count": 459, + "local_stiffness_rule_evaluations": 9, + "max_strain": 5.169807052388642e-05, + "max_stress": 375.5111075341689, + "node_count": 153, + "nu": 0.4999, + "nx": 16, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160359976, + "reference_tip_displacement": -0.0320719952, + "relative_displacement_error": 0.33082081111402606, + "relative_energy_error": 0.33082081238302524, + "sri": true, + "tip_displacement": -0.02146191173389085 + } + ], + "standard": [ + { + "distorted": false, + "element_count": 16, + "energy": 0.00023704742115790396, + "finite": true, + "free_residual_relative": 6.203035210224785e-09, + "global_dof_count": 135, + "local_stiffness_rule_evaluations": 8, + "max_strain": 3.1983256150992517e-06, + "max_stress": 86.16863837295148, + "node_count": 45, + "nu": 0.4999, + "nx": 4, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160359976, + "reference_tip_displacement": -0.0320719952, + "relative_displacement_error": 0.9852177939358682, + "relative_energy_error": 0.9852177939239711, + "sri": false, + "tip_displacement": -0.00047409484193424535 + }, + { + "distorted": false, + "element_count": 32, + "energy": 0.0007540291087402587, + "finite": true, + "free_residual_relative": 1.1768390887671077e-08, + "global_dof_count": 243, + "local_stiffness_rule_evaluations": 8, + "max_strain": 4.829530940695499e-06, + "max_stress": 93.96161609162921, + "node_count": 81, + "nu": 0.4999, + "nx": 8, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160359976, + "reference_tip_displacement": -0.0320719952, + "relative_displacement_error": 0.9529789707898911, + "relative_energy_error": 0.9529789709659062, + "sri": false, + "tip_displacement": -0.0015080582231256712 + }, + { + "distorted": false, + "element_count": 64, + "energy": 0.002113728133923575, + "finite": true, + "free_residual_relative": 3.30600200052655e-08, + "global_dof_count": 459, + "local_stiffness_rule_evaluations": 8, + "max_strain": 1.0687422739533249e-05, + "max_stress": 97.38949620536987, + "node_count": 153, + "nu": 0.4999, + "nx": 16, + "ny": 2, + "nz": 2, + "reference_energy": 0.0160359976, + "reference_tip_displacement": -0.0320719952, + "relative_displacement_error": 0.8681885473934305, + "relative_energy_error": 0.8681885476259004, + "sri": false, + "tip_displacement": -0.004227456275302925 + } + ] + } + }, + "gates": { + "finite_campaign": "PASS", + "locking_reduction": "PASS", + "mesh_convergence": "PASS", + "patch": "PASS", + "stability": "PASS" + }, + "locking_reduction": { + "bending_nu030": { + "fine_level_error_reduction": 0.760086780505788, + "fine_level_sri_error": 0.09503295647345253, + "fine_level_standard_error": 0.3961138809849752 + }, + "nearly_incompressible_nu04999": { + "fine_level_error_reduction": 0.6189528045408431, + "fine_level_sri_error": 0.33082081111402606, + "fine_level_standard_error": 0.8681885473934305 + } + }, + "mesh_convergence": { + "levels": [ + 4, + 8, + 16 + ], + "sri_error_non_increasing": true + }, + "numerical_source_changed": true, + "patch_and_rank": { + "constant_stiffness_action_difference": 0.8749534857084776, + "constant_strain_error": 3.3306690738754696e-16, + "energy_identity_relative": 6.339974218338293e-16, + "null_modes": 6, + "patch_error": 3.3306690738754696e-16, + "positive_mode_min_relative": 6.655264464088052e-07, + "rank": 18, + "rigid_body_relative": 4.569502793590297e-16, + "status": "PASS", + "stiffness_symmetry_relative": 0.0 + }, + "predeclared_tolerances": { + "constant_strain_absolute": 1e-11, + "energy_identity_relative": 1e-10, + "fine_locking_gain": 0.5, + "patch_absolute": 1e-11, + "positive_mode_relative": 1e-12, + "rank_null_relative": 1e-10, + "rigid_body_relative": 1e-10, + "symmetry_relative": 1e-12 + }, + "stability": { + "invalid_orientation": "PASS", + "status": "PASS", + "valid_cases": [ + { + "distorted": false, + "max_eigenvalue": 4174083524.990866, + "min_eigenvalue": -2.8333464735193035e-08, + "null_modes": 6 + }, + { + "distorted": true, + "max_eigenvalue": 4174083524.990866, + "min_eigenvalue": -2.8333464735193035e-08, + "null_modes": 6 + } + ] + }, + "standard_hex8_changed": false, + "technical_decision": "EXPERIMENTAL_BOUNDED_CANDIDATE" + }, + "contract": "qualification/0_2_8/wp10_hex8_sri_contract.json", + "formulation": "full deviatoric 2x2x2 plus centre-only volumetric contribution for isotropic linear elasticity", + "integrity": { + "hex8_standard_changed": false, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": true, + "wp07_wp09_claims_changed": false + }, + "limitations": [ + "SRI is internal and not a public registry or compatibility capability.", + "Scope is isotropic small-strain linear-static HEX8 only.", + "No hourglass control, HEX8R, nonlinear, modal, dynamic, buckling, mixed-large or PYRAMID5 maturation claim.", + "No external solver correlation is claimed; the Timoshenko oracle is used for the executed slender cantilever scope.", + "The affine strain and energy checks pass, but the centre-only volumetric term changes the affine nodal force action; no general patch-force qualification is claimed." + ], + "record_id": "QF-028-WP10-HEX8-SRI-VNV", + "replays": { + "deterministic": true, + "digests": [ + "c82fda8fb906a827a2a59a11413b283ecdf4a7eb159a5ca9242cc3aaa5c46e66", + "c82fda8fb906a827a2a59a11413b283ecdf4a7eb159a5ca9242cc3aaa5c46e66" + ], + "required": 2, + "status": "PASS" + }, + "schema_version": 1, + "status": "CAMPAIGN_COMPLETE_RESEARCH_GATE", + "technical_decision": "EXPERIMENTAL_BOUNDED_CANDIDATE", + "work_package": "WP10" +} diff --git a/qualification/0_2_8/wp11_mixed_large_contract.json b/qualification/0_2_8/wp11_mixed_large_contract.json new file mode 100644 index 00000000..70e5e411 --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_contract.json @@ -0,0 +1,62 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11-MIXED-LARGE-CONTRACT", + "work_package": "WP11", + "baseline_sha": "9ab8dc8ddfc432134436f2cf9fa2d65933adecb4", + "status": "PREDECLARED", + "scope": "Recorded large-scale mixed TET4/WEDGE6/HEX8 evidence for the conforming linear_static route in one declared environment; no accuracy, production, precision, modal, dynamic, nonlinear or universal performance claim.", + "model": { + "topology": "Repeated conforming three-family chains; each chain is one TET4, one WEDGE6 and one HEX8 with a shared triangular TET4/WEDGE6 interface and shared quadrilateral WEDGE6/HEX8 interface.", + "mandatory": { + "chains": 9091, + "segments_per_chain": 1, + "nodes": 100001, + "dof": 300003, + "elements": 27273, + "elements_by_family": {"TET4": 9091, "WEDGE6": 9091, "HEX8": 9091}, + "interfaces": {"triangular": 9091, "quadrilateral": 9091}, + "components": 9091 + }, + "baseline": { + "chains": 2, + "segments_per_chain": 1, + "dof": 66, + "elements_by_family": {"TET4": 2, "WEDGE6": 2, "HEX8": 2} + }, + "desired_1m": {"chains": 30303, "dof": 999999, "status": "OPTIONAL_NON_BLOCKER"}, + "stretch_3m": {"chains": 90909, "dof": 2999997, "status": "OPTIONAL_NON_BLOCKER"}, + "material": {"type": "isotropic_3d", "E": 210000000000.0, "nu": 0.3, "density": 7800.0}, + "analysis": "small-strain linear isotropic elasticity; fixed x=0 DOFs; unit total Z load per chain distributed on free top nodes; SI units", + "interfaces": "nodal conforming only; no hanging nodes, MPC transition, PYRAMID5 or HEX8-SRI" + }, + "gates": { + "status": "PASS", + "mandatory_dof_at_least": 300000, + "all_three_families_present": true, + "relative_solver_residual_max": 1e-8, + "global_force_closure_relative_max": 1e-8, + "global_moment_closure_relative_max": 1e-8, + "energy_identity_relative_max": 1e-8, + "replay_digest_exact_match": true, + "finite_solution": true, + "runtime_and_memory": "recorded, informative only" + }, + "environment": { + "backend": "SciPy sparse linear solver as selected by the standard mixed LinearStaticSolver", + "solver_assumption": "assume_spd=true; justified by homogeneous small-strain isotropic elasticity with complete per-chain Dirichlet constraints", + "mpi_ranks": 1, + "preallocation": "record actual exposed backend diagnostics; do not infer unavailable allocator details", + "packages": ["python", "numpy", "scipy", "petsc4py", "mpi4py"] + }, + "reproducibility": { + "replays_required": 2, + "comparison": "input digest, displacement digest, iterations, residual, equilibrium and energy; runtime/memory excluded from exact physics digest" + }, + "non_goals": [ + "No 0.2.7 evidence rewrite.", + "No numerical formulation change.", + "No PYRAMID5, HEX8-SRI, modal, dynamic, nonlinear or nonconforming scope.", + "No external correlation claim.", + "No 1M or 3M blocker if resources are not budgeted; those runs are optional and must not be fabricated." + ] +} diff --git a/qualification/0_2_8/wp11_mixed_large_evidence/input_manifest.json b/qualification/0_2_8/wp11_mixed_large_evidence/input_manifest.json new file mode 100644 index 00000000..ab7b7b5b --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_evidence/input_manifest.json @@ -0,0 +1,56 @@ +{ + "small": { + "chains": 2, + "segments_per_chain": 1, + "components": 2, + "nodes": 22, + "dof": 66, + "elements": 6, + "elements_by_family": { + "TET4": 2, + "WEDGE6": 2, + "HEX8": 2 + }, + "interfaces": { + "triangular": 2, + "quadrilateral": 2 + }, + "fixed_nodes_per_chain": 7, + "loads_per_chain": 2, + "material": { + "type": "isotropic_3d", + "E": 210000000000.0, + "nu": 0.3, + "density": 7800.0 + }, + "input_digest": "e15be04639374a53768aa4366913ff127c80f4fd5776a29c64f2672c4290c3eb", + "interface_records_detected": 30 + }, + "mandatory": { + "chains": 9091, + "segments_per_chain": 1, + "components": 9091, + "nodes": 100001, + "dof": 300003, + "elements": 27273, + "elements_by_family": { + "TET4": 9091, + "WEDGE6": 9091, + "HEX8": 9091 + }, + "interfaces": { + "triangular": 9091, + "quadrilateral": 9091 + }, + "fixed_nodes_per_chain": 7, + "loads_per_chain": 2, + "material": { + "type": "isotropic_3d", + "E": 210000000000.0, + "nu": 0.3, + "density": 7800.0 + }, + "input_digest": "32a9f024ebd243cccdf7842e4ce3f8be4bdae56cdcfcfd6164ba634a9c2a0eb8", + "interface_records_detected": 136365 + } +} \ No newline at end of file diff --git a/qualification/0_2_8/wp11_mixed_large_evidence/replay_1.json b/qualification/0_2_8/wp11_mixed_large_evidence/replay_1.json new file mode 100644 index 00000000..20bf815c --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_evidence/replay_1.json @@ -0,0 +1,295 @@ +{ + "label": "replay_1", + "status": "PASS", + "ndof": 300003, + "node_count": 100001, + "element_count": 27273, + "solver_method": "cg", + "solver_backend": "scipy", + "preconditioner": "jacobi", + "iterations": 12, + "relative_residual_norm": 2.484933369237869e-09, + "equilibrium": { + "sign_convention": "residual = internal_force - external_force; reactions are residuals on fixed dofs", + "load_factor": 1.0, + "free_residual_norm": 1.6753501124604315e-07, + "free_relative_residual": 2.4849333692411353e-09, + "fixed_reaction_norm": 94.58454270386707, + "ground_spring_reaction_norm": 0.0, + "external_load_norm": 67.4203233454127, + "internal_force_norm": 116.15393113671017, + "displacement_norm": 2.9049750514183733e-09, + "external_work_at_final_load": 1.4356183445459714e-07, + "secant_internal_energy": 7.178091722731534e-08, + "linear_energy_identity_relative_error": 3.3537210755349954e-20, + "external_resultant": [ + 0.0, + 0.0, + -9091.0 + ], + "reaction_resultant": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 9091.000000000742 + ], + "force_imbalance": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 7.421476766467094e-10 + ], + "force_balance_relative_error": 2.0730893516296557e-12, + "external_moment_about_origin": [ + -123951239.5, + 9091.0, + 0.0 + ], + "reaction_moment_about_origin": [ + 123951239.50001225, + -9090.99999999076, + -0.0005401185753726168 + ], + "moment_imbalance_about_origin": [ + 1.2248754501342773e-05, + 9.240466170012951e-09, + -0.0005401185753726168 + ], + "moment_balance_relative_error": 4.358628815121694e-12, + "constraint_forces": { + "equation_count": 190911, + "kinematic_equation_count": 0, + "fixed_equation_count": 190911, + "constraint_violation_norm": 0.0, + "constraint_violation_max_abs": 0.0, + "equilibrium_relative_error": 1.7712726250691505e-09, + "lsmr_stop_code": 2, + "sign_convention": "K u - f + C.T lambda = 0", + "fixed_support_reaction_norm": 94.58454270386707, + "largest_multipliers": [ + { + "index": 182769, + "name": "fixed_287208", + "kind": "fixed", + "multiplier": 0.5069402681471064, + "violation": 0.0 + }, + { + "index": 181509, + "name": "fixed_285228", + "kind": "fixed", + "multiplier": 0.5069402681392635, + "violation": 0.0 + }, + { + "index": 182664, + "name": "fixed_287043", + "kind": "fixed", + "multiplier": 0.5069402681349321, + "violation": 0.0 + }, + { + "index": 182559, + "name": "fixed_286878", + "kind": "fixed", + "multiplier": 0.5069402681222253, + "violation": 0.0 + }, + { + "index": 182454, + "name": "fixed_286713", + "kind": "fixed", + "multiplier": 0.5069402681108753, + "violation": 0.0 + }, + { + "index": 182349, + "name": "fixed_286548", + "kind": "fixed", + "multiplier": 0.5069402680980946, + "violation": 0.0 + }, + { + "index": 182244, + "name": "fixed_286383", + "kind": "fixed", + "multiplier": 0.5069402680858067, + "violation": 0.0 + }, + { + "index": 182139, + "name": "fixed_286218", + "kind": "fixed", + "multiplier": 0.5069402680735543, + "violation": 0.0 + }, + { + "index": 182034, + "name": "fixed_286053", + "kind": "fixed", + "multiplier": 0.5069402680610336, + "violation": 0.0 + }, + { + "index": 181929, + "name": "fixed_285888", + "kind": "fixed", + "multiplier": 0.5069402680493205, + "violation": 0.0 + }, + { + "index": 181824, + "name": "fixed_285723", + "kind": "fixed", + "multiplier": 0.5069402680369733, + "violation": 0.0 + }, + { + "index": 181719, + "name": "fixed_285558", + "kind": "fixed", + "multiplier": 0.5069402680233956, + "violation": 0.0 + }, + { + "index": 181404, + "name": "fixed_285063", + "kind": "fixed", + "multiplier": 0.5069402678942645, + "violation": 0.0 + }, + { + "index": 181299, + "name": "fixed_284898", + "kind": "fixed", + "multiplier": 0.5069402678818741, + "violation": 0.0 + }, + { + "index": 177267, + "name": "fixed_278562", + "kind": "fixed", + "multiplier": 0.5069402678746687, + "violation": 0.0 + }, + { + "index": 181194, + "name": "fixed_284733", + "kind": "fixed", + "multiplier": 0.5069402678699573, + "violation": 0.0 + }, + { + "index": 177162, + "name": "fixed_278397", + "kind": "fixed", + "multiplier": 0.5069402678626403, + "violation": 0.0 + }, + { + "index": 173130, + "name": "fixed_272061", + "kind": "fixed", + "multiplier": 0.5069402678562641, + "violation": 0.0 + }, + { + "index": 183504, + "name": "fixed_288363", + "kind": "fixed", + "multiplier": 0.5069402678320212, + "violation": 0.0 + }, + { + "index": 179472, + "name": "fixed_282027", + "kind": "fixed", + "multiplier": 0.5069402678258276, + "violation": 0.0 + } + ], + "generalized_force_norm": 94.58454270386707, + "resultant": [ + -1.8775741794652134e-08, + -1.4524510656699352e-09, + -9091.000000000742 + ], + "moment_about_origin": [ + -123951239.50001225, + 9090.99999999076, + 0.0005401185753726168 + ], + "residual_resultant": [ + 6.2727600891321345e-15, + -1.066507993030541e-14, + 9090.999999999894 + ], + "residual_moment_about_origin": [ + 123951239.50000064, + -9090.999999999894, + 3.0483348623100426e-09 + ], + "global_force_closure_relative_error": 2.073578169656872e-12, + "global_moment_closure_relative_error": 4.358539266072894e-12 + } + }, + "energy": { + "external_work": 1.4356183445459756e-07, + "secant_internal_energy": 7.178091722729878e-08, + "linear_energy_identity_relative_error": 0.0 + }, + "matrix_audits": [ + { + "name": "stiffness", + "shape": [ + 300003, + 300003 + ], + "nnz": 7100045, + "density": 7.88878111247776e-05, + "data_norm": 64840208938863.63, + "symmetry_relative_error": 1.6216165521354464e-17, + "is_symmetric": true, + "diagonal_min": 13461538461.538462, + "diagonal_max": 190705128205.4173 + }, + { + "name": "reduced_stiffness", + "shape": [ + 109092, + 109092 + ], + "nnz": 1309104, + "density": 0.00010999890001099989, + "data_norm": 30626666004981.27, + "symmetry_relative_error": 0.0, + "is_symmetric": true, + "diagonal_min": 49358974358.7939, + "diagonal_max": 150320512820.65936 + } + ], + "resource_estimate": { + "nnz": 1309104, + "sparse_memory_bytes": 16145620, + "direct_memory_estimate_bytes": 161456200, + "direct_memory_budget_bytes": null, + "direct_budget_exceeded": false, + "dense_memory_estimate_bytes": 95208515712 + }, + "timing_seconds": { + "assembly": 46.11255359998904, + "linear_solve": 0.053697200026363134, + "total": 62.4159071999602, + "validation_constraints_postprocessing": 16.249656399944797 + }, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 163430400, + "current_rss_after_bytes": 606769152, + "current_rss_delta_bytes": 443338752, + "peak_rss_before_bytes": 195588096, + "peak_rss_after_bytes": 754372608, + "peak_rss_delta_bytes": 558784512 + }, + "displacement_digest": "8bce66a93a12da3e7e2ca59c3ce216d8eb1564c889c940bcd7c46c81b961e283", + "physics_digest": "b2205f0b8e51c856a1606fb99a621c2747c6df2fad69fae4047911f74a296127", + "finite_solution": true +} \ No newline at end of file diff --git a/qualification/0_2_8/wp11_mixed_large_evidence/replay_2.json b/qualification/0_2_8/wp11_mixed_large_evidence/replay_2.json new file mode 100644 index 00000000..512ae95b --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_evidence/replay_2.json @@ -0,0 +1,295 @@ +{ + "label": "replay_2", + "status": "PASS", + "ndof": 300003, + "node_count": 100001, + "element_count": 27273, + "solver_method": "cg", + "solver_backend": "scipy", + "preconditioner": "jacobi", + "iterations": 12, + "relative_residual_norm": 2.484933369237869e-09, + "equilibrium": { + "sign_convention": "residual = internal_force - external_force; reactions are residuals on fixed dofs", + "load_factor": 1.0, + "free_residual_norm": 1.6753501124604315e-07, + "free_relative_residual": 2.4849333692411353e-09, + "fixed_reaction_norm": 94.58454270386707, + "ground_spring_reaction_norm": 0.0, + "external_load_norm": 67.4203233454127, + "internal_force_norm": 116.15393113671017, + "displacement_norm": 2.9049750514183733e-09, + "external_work_at_final_load": 1.4356183445459714e-07, + "secant_internal_energy": 7.178091722731534e-08, + "linear_energy_identity_relative_error": 3.3537210755349954e-20, + "external_resultant": [ + 0.0, + 0.0, + -9091.0 + ], + "reaction_resultant": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 9091.000000000742 + ], + "force_imbalance": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 7.421476766467094e-10 + ], + "force_balance_relative_error": 2.0730893516296557e-12, + "external_moment_about_origin": [ + -123951239.5, + 9091.0, + 0.0 + ], + "reaction_moment_about_origin": [ + 123951239.50001225, + -9090.99999999076, + -0.0005401185753726168 + ], + "moment_imbalance_about_origin": [ + 1.2248754501342773e-05, + 9.240466170012951e-09, + -0.0005401185753726168 + ], + "moment_balance_relative_error": 4.358628815121694e-12, + "constraint_forces": { + "equation_count": 190911, + "kinematic_equation_count": 0, + "fixed_equation_count": 190911, + "constraint_violation_norm": 0.0, + "constraint_violation_max_abs": 0.0, + "equilibrium_relative_error": 1.7712726250691505e-09, + "lsmr_stop_code": 2, + "sign_convention": "K u - f + C.T lambda = 0", + "fixed_support_reaction_norm": 94.58454270386707, + "largest_multipliers": [ + { + "index": 182769, + "name": "fixed_287208", + "kind": "fixed", + "multiplier": 0.5069402681471064, + "violation": 0.0 + }, + { + "index": 181509, + "name": "fixed_285228", + "kind": "fixed", + "multiplier": 0.5069402681392635, + "violation": 0.0 + }, + { + "index": 182664, + "name": "fixed_287043", + "kind": "fixed", + "multiplier": 0.5069402681349321, + "violation": 0.0 + }, + { + "index": 182559, + "name": "fixed_286878", + "kind": "fixed", + "multiplier": 0.5069402681222253, + "violation": 0.0 + }, + { + "index": 182454, + "name": "fixed_286713", + "kind": "fixed", + "multiplier": 0.5069402681108753, + "violation": 0.0 + }, + { + "index": 182349, + "name": "fixed_286548", + "kind": "fixed", + "multiplier": 0.5069402680980946, + "violation": 0.0 + }, + { + "index": 182244, + "name": "fixed_286383", + "kind": "fixed", + "multiplier": 0.5069402680858067, + "violation": 0.0 + }, + { + "index": 182139, + "name": "fixed_286218", + "kind": "fixed", + "multiplier": 0.5069402680735543, + "violation": 0.0 + }, + { + "index": 182034, + "name": "fixed_286053", + "kind": "fixed", + "multiplier": 0.5069402680610336, + "violation": 0.0 + }, + { + "index": 181929, + "name": "fixed_285888", + "kind": "fixed", + "multiplier": 0.5069402680493205, + "violation": 0.0 + }, + { + "index": 181824, + "name": "fixed_285723", + "kind": "fixed", + "multiplier": 0.5069402680369733, + "violation": 0.0 + }, + { + "index": 181719, + "name": "fixed_285558", + "kind": "fixed", + "multiplier": 0.5069402680233956, + "violation": 0.0 + }, + { + "index": 181404, + "name": "fixed_285063", + "kind": "fixed", + "multiplier": 0.5069402678942645, + "violation": 0.0 + }, + { + "index": 181299, + "name": "fixed_284898", + "kind": "fixed", + "multiplier": 0.5069402678818741, + "violation": 0.0 + }, + { + "index": 177267, + "name": "fixed_278562", + "kind": "fixed", + "multiplier": 0.5069402678746687, + "violation": 0.0 + }, + { + "index": 181194, + "name": "fixed_284733", + "kind": "fixed", + "multiplier": 0.5069402678699573, + "violation": 0.0 + }, + { + "index": 177162, + "name": "fixed_278397", + "kind": "fixed", + "multiplier": 0.5069402678626403, + "violation": 0.0 + }, + { + "index": 173130, + "name": "fixed_272061", + "kind": "fixed", + "multiplier": 0.5069402678562641, + "violation": 0.0 + }, + { + "index": 183504, + "name": "fixed_288363", + "kind": "fixed", + "multiplier": 0.5069402678320212, + "violation": 0.0 + }, + { + "index": 179472, + "name": "fixed_282027", + "kind": "fixed", + "multiplier": 0.5069402678258276, + "violation": 0.0 + } + ], + "generalized_force_norm": 94.58454270386707, + "resultant": [ + -1.8775741794652134e-08, + -1.4524510656699352e-09, + -9091.000000000742 + ], + "moment_about_origin": [ + -123951239.50001225, + 9090.99999999076, + 0.0005401185753726168 + ], + "residual_resultant": [ + 6.2727600891321345e-15, + -1.066507993030541e-14, + 9090.999999999894 + ], + "residual_moment_about_origin": [ + 123951239.50000064, + -9090.999999999894, + 3.0483348623100426e-09 + ], + "global_force_closure_relative_error": 2.073578169656872e-12, + "global_moment_closure_relative_error": 4.358539266072894e-12 + } + }, + "energy": { + "external_work": 1.4356183445459756e-07, + "secant_internal_energy": 7.178091722729878e-08, + "linear_energy_identity_relative_error": 0.0 + }, + "matrix_audits": [ + { + "name": "stiffness", + "shape": [ + 300003, + 300003 + ], + "nnz": 7100045, + "density": 7.88878111247776e-05, + "data_norm": 64840208938863.63, + "symmetry_relative_error": 1.6216165521354464e-17, + "is_symmetric": true, + "diagonal_min": 13461538461.538462, + "diagonal_max": 190705128205.4173 + }, + { + "name": "reduced_stiffness", + "shape": [ + 109092, + 109092 + ], + "nnz": 1309104, + "density": 0.00010999890001099989, + "data_norm": 30626666004981.27, + "symmetry_relative_error": 0.0, + "is_symmetric": true, + "diagonal_min": 49358974358.7939, + "diagonal_max": 150320512820.65936 + } + ], + "resource_estimate": { + "nnz": 1309104, + "sparse_memory_bytes": 16145620, + "direct_memory_estimate_bytes": 161456200, + "direct_memory_budget_bytes": null, + "direct_budget_exceeded": false, + "dense_memory_estimate_bytes": 95208515712 + }, + "timing_seconds": { + "assembly": 46.00564650003798, + "linear_solve": 0.0516353000421077, + "total": 62.5279550999403, + "validation_constraints_postprocessing": 16.47067329986021 + }, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 205697024, + "current_rss_after_bytes": 606400512, + "current_rss_delta_bytes": 400703488, + "peak_rss_before_bytes": 754372608, + "peak_rss_after_bytes": 754372608, + "peak_rss_delta_bytes": 0 + }, + "displacement_digest": "8bce66a93a12da3e7e2ca59c3ce216d8eb1564c889c940bcd7c46c81b961e283", + "physics_digest": "b2205f0b8e51c856a1606fb99a621c2747c6df2fad69fae4047911f74a296127", + "finite_solution": true +} \ No newline at end of file diff --git a/qualification/0_2_8/wp11_mixed_large_evidence/runtime_environment.json b/qualification/0_2_8/wp11_mixed_large_evidence/runtime_environment.json new file mode 100644 index 00000000..1e44f165 --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_evidence/runtime_environment.json @@ -0,0 +1,93 @@ +{ + "report_schema_version": 1, + "created_at_utc": "2026-09-07T11:54:04.162855Z", + "solver": { + "name": "QF_solver", + "version": "0.2.7" + }, + "python": { + "version": "3.13.1 (tags/v3.13.1:0671451, Dec 3 2024, 19:06:28) [MSC v.1942 64 bit (AMD64)]", + "version_info": [ + 3, + 13, + 1, + "final", + 0 + ], + "executable": "python.exe", + "implementation": "CPython", + "compiler": "MSC v.1942 64 bit (AMD64)", + "build": [ + "tags/v3.13.1:0671451", + "Dec 3 2024 19:06:28" + ] + }, + "platform": { + "platform": "Windows-10-10.0.19045-SP0", + "system": "Windows", + "release": "10", + "version": "10.0.19045", + "machine": "AMD64", + "processor": "AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD", + "architecture": [ + "64bit", + "WindowsPE" + ] + }, + "process": { + "pid": 4216, + "cwd": ".", + "argv": [ + "scripts/run_wp11_mixed_large.py" + ] + }, + "environment": { + "OMP_NUM_THREADS": null, + "MKL_NUM_THREADS": null, + "OPENBLAS_NUM_THREADS": null, + "NUMEXPR_NUM_THREADS": null, + "PYTHONHASHSEED": null, + "PETSC_DIR": null, + "PETSC_ARCH": null + }, + "packages": { + "numpy": { + "available": true, + "version": "2.2.6", + "origin": "__init__.py" + }, + "scipy": { + "available": true, + "version": "1.15.2", + "origin": "__init__.py" + }, + "h5py": { + "available": true, + "version": "3.14.0", + "origin": "__init__.py" + }, + "mpi4py": { + "available": true, + "version": "4.1.0", + "origin": "__init__.py" + }, + "petsc4py": { + "available": false, + "version": null, + "origin": null + }, + "psutil": { + "available": true, + "version": "7.2.2", + "origin": "__init__.py" + } + }, + "metadata": { + "work_package": "WP11", + "backend": "scipy", + "mpi_ranks": 1, + "preallocation": "standard SparseCsrAccumulator; allocator detail not exposed", + "command": "python scripts/run_wp11_mixed_large.py", + "baseline_sha": "9ab8dc8ddfc432134436f2cf9fa2d65933adecb4" + } +} \ No newline at end of file diff --git a/qualification/0_2_8/wp11_mixed_large_matrix.json b/qualification/0_2_8/wp11_mixed_large_matrix.json new file mode 100644 index 00000000..e097ac6e --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_matrix.json @@ -0,0 +1,54 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11-MIXED-LARGE-MATRIX", + "work_package": "WP11", + "execution_sha": "08b9ca2bc9420e100483c2ee4ff3262baea8077f", + "decision": "PASS_WITH_BOUNDED_EVIDENCE", + "mandatory_status": "PASS", + "mandatory_model": { + "nodes": 100001, + "dof": 300003, + "elements": 27273, + "elements_by_family": {"TET4": 9091, "WEDGE6": 9091, "HEX8": 9091}, + "conforming_interfaces": {"triangular_tet4_wedge6": 9091, "quadrilateral_wedge6_hex8": 9091}, + "components": 9091, + "load": "unit total Z load per repeated chain; x=0 DOFs fixed" + }, + "gates": { + "two_replays": "PASS", + "iterations": 12, + "relative_residual": 2.484933369237869e-09, + "force_balance_relative_error": 2.0730893516296557e-12, + "moment_balance_relative_error": 4.358628815121694e-12, + "energy_identity_relative_error": 0.0, + "finite_solution": "PASS", + "replay_physics_digest": "c0002f86478594f0c51806307296e83b245fabe00cfc6250177ac2137a7d1d8" + }, + "performance": { + "assembly_seconds": [46.11255359998904, 46.00564650003798], + "linear_solve_seconds": [0.053697200026363134, 0.0516353000421077], + "total_seconds": [62.4159071999602, 62.5279550999403], + "peak_rss_after_bytes": [754372608, 754372608], + "reduced_matrix_nnz": 1309104, + "backend": "scipy", + "method": "cg", + "preconditioner": "jacobi", + "mpi_ranks": 1 + }, + "optional_targets": { + "one_million_dof": "NOT_RUN_NON_BLOCKER", + "three_million_dof": "NOT_RUN_NON_BLOCKER" + }, + "limitations": [ + "The mandatory evidence is a repeated conforming-chain scale model, not an arbitrary connected industrial mesh.", + "Runtime and memory are environment records, not universal thresholds.", + "No accuracy, production, precision, modal, dynamic, nonlinear or universal scalability claim.", + "No PYRAMID5 or HEX8-SRI appears in this large model.", + "No external correlation is claimed." + ], + "integrity": { + "numerical_source_changed": false, + "historical_0_2_7_evidence_changed": false, + "wp01_wp10_records_changed": false + } +} diff --git a/qualification/0_2_8/wp11_mixed_large_vnv.json b/qualification/0_2_8/wp11_mixed_large_vnv.json new file mode 100644 index 00000000..83482d71 --- /dev/null +++ b/qualification/0_2_8/wp11_mixed_large_vnv.json @@ -0,0 +1,1336 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11-MIXED-LARGE-VNV", + "work_package": "WP11", + "baseline_sha": "9ab8dc8ddfc432134436f2cf9fa2d65933adecb4", + "contract": "wp11_mixed_large_contract.json", + "command": "python scripts/run_wp11_mixed_large.py", + "scope": "Recorded large-scale mixed TET4/WEDGE6/HEX8 evidence for this specific conforming linear-static route and environment.", + "small_baseline": { + "label": "small_baseline", + "manifest": { + "chains": 2, + "segments_per_chain": 1, + "components": 2, + "nodes": 22, + "dof": 66, + "elements": 6, + "elements_by_family": { + "TET4": 2, + "WEDGE6": 2, + "HEX8": 2 + }, + "interfaces": { + "triangular": 2, + "quadrilateral": 2 + }, + "fixed_nodes_per_chain": 7, + "loads_per_chain": 2, + "material": { + "type": "isotropic_3d", + "E": 210000000000.0, + "nu": 0.3, + "density": 7800.0 + }, + "input_digest": "e15be04639374a53768aa4366913ff127c80f4fd5776a29c64f2672c4290c3eb", + "interface_records_detected": 30 + }, + "preparation": { + "seconds": 0.0002508999314159155, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 78520320, + "current_rss_after_bytes": 78553088, + "current_rss_delta_bytes": 32768, + "peak_rss_before_bytes": 78524416, + "peak_rss_after_bytes": 78557184, + "peak_rss_delta_bytes": 32768 + } + }, + "replays": [ + { + "label": "replay_1", + "status": "PASS", + "ndof": 66, + "node_count": 22, + "element_count": 6, + "solver_method": "cg", + "solver_backend": "scipy", + "preconditioner": "jacobi", + "iterations": 12, + "relative_residual_norm": 2.1249497231820666e-12, + "equilibrium": { + "sign_convention": "residual = internal_force - external_force; reactions are residuals on fixed dofs", + "load_factor": 1.0, + "free_residual_norm": 2.1249497231820666e-12, + "free_relative_residual": 2.1249497231820666e-12, + "fixed_reaction_norm": 1.4029084704809742, + "ground_spring_reaction_norm": 0.0, + "external_load_norm": 1.0, + "internal_force_norm": 1.722832602589555, + "displacement_norm": 4.308752772565331e-11, + "external_work_at_final_load": 3.1583287747118783e-11, + "secant_internal_energy": 1.5791643873556984e-11, + "linear_energy_identity_relative_error": 4.814449659000044e-24, + "external_resultant": [ + 0.0, + 0.0, + -2.0 + ], + "reaction_resultant": [ + -2.4726887204451486e-12, + -2.8418239983452054e-14, + 1.999999999999998 + ], + "force_imbalance": [ + -2.4726887204451486e-12, + -2.8418239983452054e-14, + -1.9984014443252818e-15 + ], + "force_balance_relative_error": 1.2364264129123047e-12, + "external_moment_about_origin": [ + -2.0, + 2.0, + 0.0 + ], + "reaction_moment_about_origin": [ + 2.0000000000000107, + -2.0000000000012443, + 6.866729407306593e-13 + ], + "moment_imbalance_about_origin": [ + 1.0658141036401503e-14, + -1.2443379659998755e-12, + 6.866729407306593e-13 + ], + "moment_balance_relative_error": 5.024950618077608e-13, + "constraint_forces": { + "equation_count": 42, + "kinematic_equation_count": 0, + "fixed_equation_count": 42, + "constraint_violation_norm": 0.0, + "constraint_violation_max_abs": 0.0, + "equilibrium_relative_error": 1.5146745318678607e-12, + "lsmr_stop_code": 1, + "sign_convention": "K u - f + C.T lambda = 0", + "fixed_support_reaction_norm": 1.4029084704809742, + "largest_multipliers": [ + { + "index": 6, + "name": "fixed_9", + "kind": "fixed", + "multiplier": 0.506940266097001, + "violation": 0.0 + }, + { + "index": 27, + "name": "fixed_42", + "kind": "fixed", + "multiplier": 0.5069402660966189, + "violation": 0.0 + }, + { + "index": 23, + "name": "fixed_35", + "kind": "fixed", + "multiplier": -0.45055620798125606, + "violation": 0.0 + }, + { + "index": 2, + "name": "fixed_2", + "kind": "fixed", + "multiplier": -0.45055620798106594, + "violation": 0.0 + }, + { + "index": 21, + "name": "fixed_33", + "kind": "fixed", + "multiplier": -0.3498786224653552, + "violation": 0.0 + }, + { + "index": 0, + "name": "fixed_0", + "kind": "fixed", + "multiplier": -0.34987862246489676, + "violation": 0.0 + }, + { + "index": 36, + "name": "fixed_54", + "kind": "fixed", + "multiplier": -0.34028185603348465, + "violation": 0.0 + }, + { + "index": 15, + "name": "fixed_21", + "kind": "fixed", + "multiplier": -0.3402818560332404, + "violation": 0.0 + }, + { + "index": 18, + "name": "fixed_27", + "kind": "fixed", + "multiplier": 0.30286638042321734, + "violation": 0.0 + }, + { + "index": 39, + "name": "fixed_60", + "kind": "fixed", + "multiplier": 0.3028663804229693, + "violation": 0.0 + }, + { + "index": 8, + "name": "fixed_11", + "kind": "fixed", + "multiplier": -0.2685305849323476, + "violation": 0.0 + }, + { + "index": 29, + "name": "fixed_44", + "kind": "fixed", + "multiplier": -0.26853058493213955, + "violation": 0.0 + }, + { + "index": 38, + "name": "fixed_56", + "kind": "fixed", + "multiplier": -0.23832284786470703, + "violation": 0.0 + }, + { + "index": 17, + "name": "fixed_23", + "kind": "fixed", + "multiplier": -0.2383228478645026, + "violation": 0.0 + }, + { + "index": 3, + "name": "fixed_6", + "kind": "fixed", + "multiplier": -0.14537813668230862, + "violation": 0.0 + }, + { + "index": 24, + "name": "fixed_39", + "kind": "fixed", + "multiplier": -0.14537813668225286, + "violation": 0.0 + }, + { + "index": 30, + "name": "fixed_48", + "kind": "fixed", + "multiplier": 0.10796266107143142, + "violation": 0.0 + }, + { + "index": 9, + "name": "fixed_15", + "kind": "fixed", + "multiplier": 0.10796266107138978, + "violation": 0.0 + }, + { + "index": 7, + "name": "fixed_10", + "kind": "fixed", + "multiplier": -0.08855527831239363, + "violation": 0.0 + }, + { + "index": 28, + "name": "fixed_43", + "kind": "fixed", + "multiplier": -0.08855527831228655, + "violation": 0.0 + } + ], + "generalized_force_norm": 1.4029084704809742, + "resultant": [ + 2.4726887204451486e-12, + 2.8418239983452054e-14, + -1.999999999999998 + ], + "moment_about_origin": [ + -2.0000000000000107, + 2.0000000000012443, + -6.866729407306593e-13 + ], + "residual_resultant": [ + 0.0, + 1.8041124150158794e-16, + 2.000000000000001 + ], + "residual_moment_about_origin": [ + 2.0, + -1.9999999999999998, + 1.1102230246251565e-16 + ], + "global_force_closure_relative_error": 1.2364278914894166e-12, + "global_moment_closure_relative_error": 5.02544834293607e-13 + } + }, + "energy": { + "external_work": 3.1583287747118783e-11, + "secant_internal_energy": 1.5791643873559392e-11, + "linear_energy_identity_relative_error": 0.0 + }, + "matrix_audits": [ + { + "name": "stiffness", + "shape": [ + 66, + 66 + ], + "nnz": 1544, + "density": 0.3544536271808999, + "data_norm": 961730910228.2003, + "symmetry_relative_error": 2.3128419823773127e-17, + "is_symmetric": true, + "diagonal_min": 13461538461.538462, + "diagonal_max": 190705128205.1282, + "rank_estimate": 54, + "eigenvalue_min": -7.431064102812122e-05, + "eigenvalue_max": 434928239617.78174, + "condition_estimate": 56.32655321248039, + "positive_definite_estimate": false + }, + { + "name": "reduced_stiffness", + "shape": [ + 24, + 24 + ], + "nnz": 288, + "density": 0.5, + "data_norm": 454264596864.5334, + "symmetry_relative_error": 0.0, + "is_symmetric": true, + "diagonal_min": 49358974358.97435, + "diagonal_max": 150320512820.51282, + "rank_estimate": 24, + "eigenvalue_min": 11474845682.907412, + "eigenvalue_max": 216760264482.6731, + "condition_estimate": 18.89003743253408, + "positive_definite_estimate": true + } + ], + "resource_estimate": { + "nnz": 288, + "sparse_memory_bytes": 3556, + "direct_memory_estimate_bytes": 35560, + "direct_memory_budget_bytes": null, + "direct_budget_exceeded": false, + "dense_memory_estimate_bytes": 4608 + }, + "timing_seconds": { + "assembly": 0.010290100006386638, + "linear_solve": 0.0014563000295311213, + "total": 0.03196750010829419, + "validation_constraints_postprocessing": 0.02022110007237643 + }, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 78561280, + "current_rss_after_bytes": 79753216, + "current_rss_delta_bytes": 1191936, + "peak_rss_before_bytes": 78565376, + "peak_rss_after_bytes": 79757312, + "peak_rss_delta_bytes": 1191936 + }, + "displacement_digest": "3b3467a1ca02557374bf36272aafd276a53d8871c7bd93673d4dac71d7d811ee", + "physics_digest": "0aefc7e7bc72edae4c1a44b6b8e0d0aafea7bcb751561eb02e3279848cb8c058", + "finite_solution": true + }, + { + "label": "replay_2", + "status": "PASS", + "ndof": 66, + "node_count": 22, + "element_count": 6, + "solver_method": "cg", + "solver_backend": "scipy", + "preconditioner": "jacobi", + "iterations": 12, + "relative_residual_norm": 2.1249497231820666e-12, + "equilibrium": { + "sign_convention": "residual = internal_force - external_force; reactions are residuals on fixed dofs", + "load_factor": 1.0, + "free_residual_norm": 2.1249497231820666e-12, + "free_relative_residual": 2.1249497231820666e-12, + "fixed_reaction_norm": 1.4029084704809742, + "ground_spring_reaction_norm": 0.0, + "external_load_norm": 1.0, + "internal_force_norm": 1.722832602589555, + "displacement_norm": 4.308752772565331e-11, + "external_work_at_final_load": 3.1583287747118783e-11, + "secant_internal_energy": 1.5791643873556984e-11, + "linear_energy_identity_relative_error": 4.814449659000044e-24, + "external_resultant": [ + 0.0, + 0.0, + -2.0 + ], + "reaction_resultant": [ + -2.4726887204451486e-12, + -2.8418239983452054e-14, + 1.999999999999998 + ], + "force_imbalance": [ + -2.4726887204451486e-12, + -2.8418239983452054e-14, + -1.9984014443252818e-15 + ], + "force_balance_relative_error": 1.2364264129123047e-12, + "external_moment_about_origin": [ + -2.0, + 2.0, + 0.0 + ], + "reaction_moment_about_origin": [ + 2.0000000000000107, + -2.0000000000012443, + 6.866729407306593e-13 + ], + "moment_imbalance_about_origin": [ + 1.0658141036401503e-14, + -1.2443379659998755e-12, + 6.866729407306593e-13 + ], + "moment_balance_relative_error": 5.024950618077608e-13, + "constraint_forces": { + "equation_count": 42, + "kinematic_equation_count": 0, + "fixed_equation_count": 42, + "constraint_violation_norm": 0.0, + "constraint_violation_max_abs": 0.0, + "equilibrium_relative_error": 1.5146745318678607e-12, + "lsmr_stop_code": 1, + "sign_convention": "K u - f + C.T lambda = 0", + "fixed_support_reaction_norm": 1.4029084704809742, + "largest_multipliers": [ + { + "index": 6, + "name": "fixed_9", + "kind": "fixed", + "multiplier": 0.506940266097001, + "violation": 0.0 + }, + { + "index": 27, + "name": "fixed_42", + "kind": "fixed", + "multiplier": 0.5069402660966189, + "violation": 0.0 + }, + { + "index": 23, + "name": "fixed_35", + "kind": "fixed", + "multiplier": -0.45055620798125606, + "violation": 0.0 + }, + { + "index": 2, + "name": "fixed_2", + "kind": "fixed", + "multiplier": -0.45055620798106594, + "violation": 0.0 + }, + { + "index": 21, + "name": "fixed_33", + "kind": "fixed", + "multiplier": -0.3498786224653552, + "violation": 0.0 + }, + { + "index": 0, + "name": "fixed_0", + "kind": "fixed", + "multiplier": -0.34987862246489676, + "violation": 0.0 + }, + { + "index": 36, + "name": "fixed_54", + "kind": "fixed", + "multiplier": -0.34028185603348465, + "violation": 0.0 + }, + { + "index": 15, + "name": "fixed_21", + "kind": "fixed", + "multiplier": -0.3402818560332404, + "violation": 0.0 + }, + { + "index": 18, + "name": "fixed_27", + "kind": "fixed", + "multiplier": 0.30286638042321734, + "violation": 0.0 + }, + { + "index": 39, + "name": "fixed_60", + "kind": "fixed", + "multiplier": 0.3028663804229693, + "violation": 0.0 + }, + { + "index": 8, + "name": "fixed_11", + "kind": "fixed", + "multiplier": -0.2685305849323476, + "violation": 0.0 + }, + { + "index": 29, + "name": "fixed_44", + "kind": "fixed", + "multiplier": -0.26853058493213955, + "violation": 0.0 + }, + { + "index": 38, + "name": "fixed_56", + "kind": "fixed", + "multiplier": -0.23832284786470703, + "violation": 0.0 + }, + { + "index": 17, + "name": "fixed_23", + "kind": "fixed", + "multiplier": -0.2383228478645026, + "violation": 0.0 + }, + { + "index": 3, + "name": "fixed_6", + "kind": "fixed", + "multiplier": -0.14537813668230862, + "violation": 0.0 + }, + { + "index": 24, + "name": "fixed_39", + "kind": "fixed", + "multiplier": -0.14537813668225286, + "violation": 0.0 + }, + { + "index": 30, + "name": "fixed_48", + "kind": "fixed", + "multiplier": 0.10796266107143142, + "violation": 0.0 + }, + { + "index": 9, + "name": "fixed_15", + "kind": "fixed", + "multiplier": 0.10796266107138978, + "violation": 0.0 + }, + { + "index": 7, + "name": "fixed_10", + "kind": "fixed", + "multiplier": -0.08855527831239363, + "violation": 0.0 + }, + { + "index": 28, + "name": "fixed_43", + "kind": "fixed", + "multiplier": -0.08855527831228655, + "violation": 0.0 + } + ], + "generalized_force_norm": 1.4029084704809742, + "resultant": [ + 2.4726887204451486e-12, + 2.8418239983452054e-14, + -1.999999999999998 + ], + "moment_about_origin": [ + -2.0000000000000107, + 2.0000000000012443, + -6.866729407306593e-13 + ], + "residual_resultant": [ + 0.0, + 1.8041124150158794e-16, + 2.000000000000001 + ], + "residual_moment_about_origin": [ + 2.0, + -1.9999999999999998, + 1.1102230246251565e-16 + ], + "global_force_closure_relative_error": 1.2364278914894166e-12, + "global_moment_closure_relative_error": 5.02544834293607e-13 + } + }, + "energy": { + "external_work": 3.1583287747118783e-11, + "secant_internal_energy": 1.5791643873559392e-11, + "linear_energy_identity_relative_error": 0.0 + }, + "matrix_audits": [ + { + "name": "stiffness", + "shape": [ + 66, + 66 + ], + "nnz": 1544, + "density": 0.3544536271808999, + "data_norm": 961730910228.2003, + "symmetry_relative_error": 2.3128419823773127e-17, + "is_symmetric": true, + "diagonal_min": 13461538461.538462, + "diagonal_max": 190705128205.1282, + "rank_estimate": 54, + "eigenvalue_min": -7.431064102812122e-05, + "eigenvalue_max": 434928239617.78174, + "condition_estimate": 56.32655321248039, + "positive_definite_estimate": false + }, + { + "name": "reduced_stiffness", + "shape": [ + 24, + 24 + ], + "nnz": 288, + "density": 0.5, + "data_norm": 454264596864.5334, + "symmetry_relative_error": 0.0, + "is_symmetric": true, + "diagonal_min": 49358974358.97435, + "diagonal_max": 150320512820.51282, + "rank_estimate": 24, + "eigenvalue_min": 11474845682.907412, + "eigenvalue_max": 216760264482.6731, + "condition_estimate": 18.89003743253408, + "positive_definite_estimate": true + } + ], + "resource_estimate": { + "nnz": 288, + "sparse_memory_bytes": 3556, + "direct_memory_estimate_bytes": 35560, + "direct_memory_budget_bytes": null, + "direct_budget_exceeded": false, + "dense_memory_estimate_bytes": 4608 + }, + "timing_seconds": { + "assembly": 0.010323600028641522, + "linear_solve": 0.001233799965120852, + "total": 0.029509900021366775, + "validation_constraints_postprocessing": 0.0179525000276044 + }, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 79753216, + "current_rss_after_bytes": 79892480, + "current_rss_delta_bytes": 139264, + "peak_rss_before_bytes": 79757312, + "peak_rss_after_bytes": 79896576, + "peak_rss_delta_bytes": 139264 + }, + "displacement_digest": "3b3467a1ca02557374bf36272aafd276a53d8871c7bd93673d4dac71d7d811ee", + "physics_digest": "0aefc7e7bc72edae4c1a44b6b8e0d0aafea7bcb751561eb02e3279848cb8c058", + "finite_solution": true + } + ], + "replay_determinism": true, + "interface_contract": { + "detected_faces": 30, + "expected_triangular": 2, + "expected_quadrilateral": 2, + "note": "mixed_solid_faces reports one record per cross-family shared face" + } + }, + "mandatory_300k": { + "label": "mandatory_300k", + "manifest": { + "chains": 9091, + "segments_per_chain": 1, + "components": 9091, + "nodes": 100001, + "dof": 300003, + "elements": 27273, + "elements_by_family": { + "TET4": 9091, + "WEDGE6": 9091, + "HEX8": 9091 + }, + "interfaces": { + "triangular": 9091, + "quadrilateral": 9091 + }, + "fixed_nodes_per_chain": 7, + "loads_per_chain": 2, + "material": { + "type": "isotropic_3d", + "E": 210000000000.0, + "nu": 0.3, + "density": 7800.0 + }, + "input_digest": "32a9f024ebd243cccdf7842e4ce3f8be4bdae56cdcfcfd6164ba634a9c2a0eb8", + "interface_records_detected": 136365 + }, + "preparation": { + "seconds": 0.5331370999338105, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 79896576, + "current_rss_after_bytes": 162910208, + "current_rss_delta_bytes": 83013632, + "peak_rss_before_bytes": 79900672, + "peak_rss_after_bytes": 195588096, + "peak_rss_delta_bytes": 115687424 + } + }, + "replays": [ + { + "label": "replay_1", + "status": "PASS", + "ndof": 300003, + "node_count": 100001, + "element_count": 27273, + "solver_method": "cg", + "solver_backend": "scipy", + "preconditioner": "jacobi", + "iterations": 12, + "relative_residual_norm": 2.484933369237869e-09, + "equilibrium": { + "sign_convention": "residual = internal_force - external_force; reactions are residuals on fixed dofs", + "load_factor": 1.0, + "free_residual_norm": 1.6753501124604315e-07, + "free_relative_residual": 2.4849333692411353e-09, + "fixed_reaction_norm": 94.58454270386707, + "ground_spring_reaction_norm": 0.0, + "external_load_norm": 67.4203233454127, + "internal_force_norm": 116.15393113671017, + "displacement_norm": 2.9049750514183733e-09, + "external_work_at_final_load": 1.4356183445459714e-07, + "secant_internal_energy": 7.178091722731534e-08, + "linear_energy_identity_relative_error": 3.3537210755349954e-20, + "external_resultant": [ + 0.0, + 0.0, + -9091.0 + ], + "reaction_resultant": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 9091.000000000742 + ], + "force_imbalance": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 7.421476766467094e-10 + ], + "force_balance_relative_error": 2.0730893516296557e-12, + "external_moment_about_origin": [ + -123951239.5, + 9091.0, + 0.0 + ], + "reaction_moment_about_origin": [ + 123951239.50001225, + -9090.99999999076, + -0.0005401185753726168 + ], + "moment_imbalance_about_origin": [ + 1.2248754501342773e-05, + 9.240466170012951e-09, + -0.0005401185753726168 + ], + "moment_balance_relative_error": 4.358628815121694e-12, + "constraint_forces": { + "equation_count": 190911, + "kinematic_equation_count": 0, + "fixed_equation_count": 190911, + "constraint_violation_norm": 0.0, + "constraint_violation_max_abs": 0.0, + "equilibrium_relative_error": 1.7712726250691505e-09, + "lsmr_stop_code": 2, + "sign_convention": "K u - f + C.T lambda = 0", + "fixed_support_reaction_norm": 94.58454270386707, + "largest_multipliers": [ + { + "index": 182769, + "name": "fixed_287208", + "kind": "fixed", + "multiplier": 0.5069402681471064, + "violation": 0.0 + }, + { + "index": 181509, + "name": "fixed_285228", + "kind": "fixed", + "multiplier": 0.5069402681392635, + "violation": 0.0 + }, + { + "index": 182664, + "name": "fixed_287043", + "kind": "fixed", + "multiplier": 0.5069402681349321, + "violation": 0.0 + }, + { + "index": 182559, + "name": "fixed_286878", + "kind": "fixed", + "multiplier": 0.5069402681222253, + "violation": 0.0 + }, + { + "index": 182454, + "name": "fixed_286713", + "kind": "fixed", + "multiplier": 0.5069402681108753, + "violation": 0.0 + }, + { + "index": 182349, + "name": "fixed_286548", + "kind": "fixed", + "multiplier": 0.5069402680980946, + "violation": 0.0 + }, + { + "index": 182244, + "name": "fixed_286383", + "kind": "fixed", + "multiplier": 0.5069402680858067, + "violation": 0.0 + }, + { + "index": 182139, + "name": "fixed_286218", + "kind": "fixed", + "multiplier": 0.5069402680735543, + "violation": 0.0 + }, + { + "index": 182034, + "name": "fixed_286053", + "kind": "fixed", + "multiplier": 0.5069402680610336, + "violation": 0.0 + }, + { + "index": 181929, + "name": "fixed_285888", + "kind": "fixed", + "multiplier": 0.5069402680493205, + "violation": 0.0 + }, + { + "index": 181824, + "name": "fixed_285723", + "kind": "fixed", + "multiplier": 0.5069402680369733, + "violation": 0.0 + }, + { + "index": 181719, + "name": "fixed_285558", + "kind": "fixed", + "multiplier": 0.5069402680233956, + "violation": 0.0 + }, + { + "index": 181404, + "name": "fixed_285063", + "kind": "fixed", + "multiplier": 0.5069402678942645, + "violation": 0.0 + }, + { + "index": 181299, + "name": "fixed_284898", + "kind": "fixed", + "multiplier": 0.5069402678818741, + "violation": 0.0 + }, + { + "index": 177267, + "name": "fixed_278562", + "kind": "fixed", + "multiplier": 0.5069402678746687, + "violation": 0.0 + }, + { + "index": 181194, + "name": "fixed_284733", + "kind": "fixed", + "multiplier": 0.5069402678699573, + "violation": 0.0 + }, + { + "index": 177162, + "name": "fixed_278397", + "kind": "fixed", + "multiplier": 0.5069402678626403, + "violation": 0.0 + }, + { + "index": 173130, + "name": "fixed_272061", + "kind": "fixed", + "multiplier": 0.5069402678562641, + "violation": 0.0 + }, + { + "index": 183504, + "name": "fixed_288363", + "kind": "fixed", + "multiplier": 0.5069402678320212, + "violation": 0.0 + }, + { + "index": 179472, + "name": "fixed_282027", + "kind": "fixed", + "multiplier": 0.5069402678258276, + "violation": 0.0 + } + ], + "generalized_force_norm": 94.58454270386707, + "resultant": [ + -1.8775741794652134e-08, + -1.4524510656699352e-09, + -9091.000000000742 + ], + "moment_about_origin": [ + -123951239.50001225, + 9090.99999999076, + 0.0005401185753726168 + ], + "residual_resultant": [ + 6.2727600891321345e-15, + -1.066507993030541e-14, + 9090.999999999894 + ], + "residual_moment_about_origin": [ + 123951239.50000064, + -9090.999999999894, + 3.0483348623100426e-09 + ], + "global_force_closure_relative_error": 2.073578169656872e-12, + "global_moment_closure_relative_error": 4.358539266072894e-12 + } + }, + "energy": { + "external_work": 1.4356183445459756e-07, + "secant_internal_energy": 7.178091722729878e-08, + "linear_energy_identity_relative_error": 0.0 + }, + "matrix_audits": [ + { + "name": "stiffness", + "shape": [ + 300003, + 300003 + ], + "nnz": 7100045, + "density": 7.88878111247776e-05, + "data_norm": 64840208938863.63, + "symmetry_relative_error": 1.6216165521354464e-17, + "is_symmetric": true, + "diagonal_min": 13461538461.538462, + "diagonal_max": 190705128205.4173 + }, + { + "name": "reduced_stiffness", + "shape": [ + 109092, + 109092 + ], + "nnz": 1309104, + "density": 0.00010999890001099989, + "data_norm": 30626666004981.27, + "symmetry_relative_error": 0.0, + "is_symmetric": true, + "diagonal_min": 49358974358.7939, + "diagonal_max": 150320512820.65936 + } + ], + "resource_estimate": { + "nnz": 1309104, + "sparse_memory_bytes": 16145620, + "direct_memory_estimate_bytes": 161456200, + "direct_memory_budget_bytes": null, + "direct_budget_exceeded": false, + "dense_memory_estimate_bytes": 95208515712 + }, + "timing_seconds": { + "assembly": 46.11255359998904, + "linear_solve": 0.053697200026363134, + "total": 62.4159071999602, + "validation_constraints_postprocessing": 16.249656399944797 + }, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 163430400, + "current_rss_after_bytes": 606769152, + "current_rss_delta_bytes": 443338752, + "peak_rss_before_bytes": 195588096, + "peak_rss_after_bytes": 754372608, + "peak_rss_delta_bytes": 558784512 + }, + "displacement_digest": "8bce66a93a12da3e7e2ca59c3ce216d8eb1564c889c940bcd7c46c81b961e283", + "physics_digest": "b2205f0b8e51c856a1606fb99a621c2747c6df2fad69fae4047911f74a296127", + "finite_solution": true + }, + { + "label": "replay_2", + "status": "PASS", + "ndof": 300003, + "node_count": 100001, + "element_count": 27273, + "solver_method": "cg", + "solver_backend": "scipy", + "preconditioner": "jacobi", + "iterations": 12, + "relative_residual_norm": 2.484933369237869e-09, + "equilibrium": { + "sign_convention": "residual = internal_force - external_force; reactions are residuals on fixed dofs", + "load_factor": 1.0, + "free_residual_norm": 1.6753501124604315e-07, + "free_relative_residual": 2.4849333692411353e-09, + "fixed_reaction_norm": 94.58454270386707, + "ground_spring_reaction_norm": 0.0, + "external_load_norm": 67.4203233454127, + "internal_force_norm": 116.15393113671017, + "displacement_norm": 2.9049750514183733e-09, + "external_work_at_final_load": 1.4356183445459714e-07, + "secant_internal_energy": 7.178091722731534e-08, + "linear_energy_identity_relative_error": 3.3537210755349954e-20, + "external_resultant": [ + 0.0, + 0.0, + -9091.0 + ], + "reaction_resultant": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 9091.000000000742 + ], + "force_imbalance": [ + 1.8775741794652134e-08, + 1.4524510656699352e-09, + 7.421476766467094e-10 + ], + "force_balance_relative_error": 2.0730893516296557e-12, + "external_moment_about_origin": [ + -123951239.5, + 9091.0, + 0.0 + ], + "reaction_moment_about_origin": [ + 123951239.50001225, + -9090.99999999076, + -0.0005401185753726168 + ], + "moment_imbalance_about_origin": [ + 1.2248754501342773e-05, + 9.240466170012951e-09, + -0.0005401185753726168 + ], + "moment_balance_relative_error": 4.358628815121694e-12, + "constraint_forces": { + "equation_count": 190911, + "kinematic_equation_count": 0, + "fixed_equation_count": 190911, + "constraint_violation_norm": 0.0, + "constraint_violation_max_abs": 0.0, + "equilibrium_relative_error": 1.7712726250691505e-09, + "lsmr_stop_code": 2, + "sign_convention": "K u - f + C.T lambda = 0", + "fixed_support_reaction_norm": 94.58454270386707, + "largest_multipliers": [ + { + "index": 182769, + "name": "fixed_287208", + "kind": "fixed", + "multiplier": 0.5069402681471064, + "violation": 0.0 + }, + { + "index": 181509, + "name": "fixed_285228", + "kind": "fixed", + "multiplier": 0.5069402681392635, + "violation": 0.0 + }, + { + "index": 182664, + "name": "fixed_287043", + "kind": "fixed", + "multiplier": 0.5069402681349321, + "violation": 0.0 + }, + { + "index": 182559, + "name": "fixed_286878", + "kind": "fixed", + "multiplier": 0.5069402681222253, + "violation": 0.0 + }, + { + "index": 182454, + "name": "fixed_286713", + "kind": "fixed", + "multiplier": 0.5069402681108753, + "violation": 0.0 + }, + { + "index": 182349, + "name": "fixed_286548", + "kind": "fixed", + "multiplier": 0.5069402680980946, + "violation": 0.0 + }, + { + "index": 182244, + "name": "fixed_286383", + "kind": "fixed", + "multiplier": 0.5069402680858067, + "violation": 0.0 + }, + { + "index": 182139, + "name": "fixed_286218", + "kind": "fixed", + "multiplier": 0.5069402680735543, + "violation": 0.0 + }, + { + "index": 182034, + "name": "fixed_286053", + "kind": "fixed", + "multiplier": 0.5069402680610336, + "violation": 0.0 + }, + { + "index": 181929, + "name": "fixed_285888", + "kind": "fixed", + "multiplier": 0.5069402680493205, + "violation": 0.0 + }, + { + "index": 181824, + "name": "fixed_285723", + "kind": "fixed", + "multiplier": 0.5069402680369733, + "violation": 0.0 + }, + { + "index": 181719, + "name": "fixed_285558", + "kind": "fixed", + "multiplier": 0.5069402680233956, + "violation": 0.0 + }, + { + "index": 181404, + "name": "fixed_285063", + "kind": "fixed", + "multiplier": 0.5069402678942645, + "violation": 0.0 + }, + { + "index": 181299, + "name": "fixed_284898", + "kind": "fixed", + "multiplier": 0.5069402678818741, + "violation": 0.0 + }, + { + "index": 177267, + "name": "fixed_278562", + "kind": "fixed", + "multiplier": 0.5069402678746687, + "violation": 0.0 + }, + { + "index": 181194, + "name": "fixed_284733", + "kind": "fixed", + "multiplier": 0.5069402678699573, + "violation": 0.0 + }, + { + "index": 177162, + "name": "fixed_278397", + "kind": "fixed", + "multiplier": 0.5069402678626403, + "violation": 0.0 + }, + { + "index": 173130, + "name": "fixed_272061", + "kind": "fixed", + "multiplier": 0.5069402678562641, + "violation": 0.0 + }, + { + "index": 183504, + "name": "fixed_288363", + "kind": "fixed", + "multiplier": 0.5069402678320212, + "violation": 0.0 + }, + { + "index": 179472, + "name": "fixed_282027", + "kind": "fixed", + "multiplier": 0.5069402678258276, + "violation": 0.0 + } + ], + "generalized_force_norm": 94.58454270386707, + "resultant": [ + -1.8775741794652134e-08, + -1.4524510656699352e-09, + -9091.000000000742 + ], + "moment_about_origin": [ + -123951239.50001225, + 9090.99999999076, + 0.0005401185753726168 + ], + "residual_resultant": [ + 6.2727600891321345e-15, + -1.066507993030541e-14, + 9090.999999999894 + ], + "residual_moment_about_origin": [ + 123951239.50000064, + -9090.999999999894, + 3.0483348623100426e-09 + ], + "global_force_closure_relative_error": 2.073578169656872e-12, + "global_moment_closure_relative_error": 4.358539266072894e-12 + } + }, + "energy": { + "external_work": 1.4356183445459756e-07, + "secant_internal_energy": 7.178091722729878e-08, + "linear_energy_identity_relative_error": 0.0 + }, + "matrix_audits": [ + { + "name": "stiffness", + "shape": [ + 300003, + 300003 + ], + "nnz": 7100045, + "density": 7.88878111247776e-05, + "data_norm": 64840208938863.63, + "symmetry_relative_error": 1.6216165521354464e-17, + "is_symmetric": true, + "diagonal_min": 13461538461.538462, + "diagonal_max": 190705128205.4173 + }, + { + "name": "reduced_stiffness", + "shape": [ + 109092, + 109092 + ], + "nnz": 1309104, + "density": 0.00010999890001099989, + "data_norm": 30626666004981.27, + "symmetry_relative_error": 0.0, + "is_symmetric": true, + "diagonal_min": 49358974358.7939, + "diagonal_max": 150320512820.65936 + } + ], + "resource_estimate": { + "nnz": 1309104, + "sparse_memory_bytes": 16145620, + "direct_memory_estimate_bytes": 161456200, + "direct_memory_budget_bytes": null, + "direct_budget_exceeded": false, + "dense_memory_estimate_bytes": 95208515712 + }, + "timing_seconds": { + "assembly": 46.00564650003798, + "linear_solve": 0.0516353000421077, + "total": 62.5279550999403, + "validation_constraints_postprocessing": 16.47067329986021 + }, + "memory": { + "source": "psutil", + "current_rss_before_bytes": 205697024, + "current_rss_after_bytes": 606400512, + "current_rss_delta_bytes": 400703488, + "peak_rss_before_bytes": 754372608, + "peak_rss_after_bytes": 754372608, + "peak_rss_delta_bytes": 0 + }, + "displacement_digest": "8bce66a93a12da3e7e2ca59c3ce216d8eb1564c889c940bcd7c46c81b961e283", + "physics_digest": "b2205f0b8e51c856a1606fb99a621c2747c6df2fad69fae4047911f74a296127", + "finite_solution": true + } + ], + "replay_determinism": true, + "interface_contract": { + "detected_faces": 136365, + "expected_triangular": 9091, + "expected_quadrilateral": 9091, + "note": "mixed_solid_faces reports one record per cross-family shared face" + } + }, + "desired_1m": { + "status": "NOT_RUN_NON_BLOCKER", + "dof": 999999 + }, + "stretch_3m": { + "status": "NOT_RUN_NON_BLOCKER", + "dof": 2999997 + }, + "runtime_environment": "wp11_mixed_large_evidence/runtime_environment.json", + "gates": { + "mandatory_dof_at_least": true, + "all_three_families_present": true, + "replay_determinism": true, + "finite_solution": true, + "relative_residual": true, + "force_closure": true, + "moment_closure": true, + "energy_identity": true + }, + "integrity": { + "numerical_source_changed": false, + "historical_0_2_7_evidence_changed": false, + "wp01_wp10_records_changed": false + }, + "status": "PASS" +} \ No newline at end of file diff --git a/qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json b/qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json new file mode 100644 index 00000000..4fd6ab15 --- /dev/null +++ b/qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json @@ -0,0 +1,48 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11B-HEX8-BUCKLING-EXPERIMENTAL-CONTRACT", + "work_package": "WP11B", + "baseline_sha": "eed9fc7cdeec07f77cccfa647cfa167031668bef", + "status": "PREDECLARED", + "decision_space": ["EXPERIMENTAL_CANDIDATE", "NOT_QUALIFIED"], + "scope": "HEX8 linear eigenvalue buckling with linear-elastic prestress, valid bounded geometries, explicitly tested boundary conditions and first positive mode only; exploratory/research use.", + "benchmark": { + "name": "clamped solid cantilever block under uniform end-face dead compression", + "geometry": "rectangular prismatic HEX8 block, L=4.0, b=1.2, h=1.0", + "boundary_conditions": "all UX/UY/UZ fixed on x=0; x=L end face free", + "preload": "uniform nodal compression in UX on x=L, total P=1.0", + "material": {"E": 1000.0, "nu": 0.3, "model": "homogeneous isotropic linear elasticity"}, + "levels": [[2, 2, 2], [4, 4, 4], [6, 6, 6]], + "modes": "first positive linearized tangent-instability factor and associated mode" + }, + "gates": { + "preload_relative_residual_max": 1e-8, + "geometric_stiffness_symmetry_relative_max": 1e-12, + "eigen_residual_relative_max": 1e-7, + "critical_factor": "finite and strictly positive", + "mode": "finite, dominant lateral UZ and no NaN/Inf", + "E_scaling": "doubling E gives factor ratio 2.0 within 5%", + "preload_scaling": "doubling P gives factor ratio 0.5 within 5%", + "geometry_sensitivity": "doubling L gives a finite positive factor lower than the reference", + "moderate_perturbation": "finite positive factor within 10% of the level-4 reference", + "replays": "two exact declared-output digests" + }, + "refinement_policy": "record factors, adjacent changes, mode direction and residuals; do not require convergence to Euler and do not relabel a trend as convergence", + "external_oracle": "desirable but not required for EXPERIMENTAL_CANDIDATE; report NOT_AVAILABLE if unavailable", + "excluded_scope": [ + "general Euler prediction", + "general convergence claim", + "certification or production use", + "imperfections, nonlinear/post-buckling or plasticity", + "arbitrary meshes", + "universal accuracy claim", + "multi-mode or mixed-mesh buckling", + "HEX8R, SRI, B-bar or hourglass formulations" + ], + "integrity": { + "wp06_gates_unchanged": true, + "historical_0_2_7_evidence_unchanged": true, + "numerical_source_change_permitted": false, + "post_observation_retuning": false + } +} diff --git a/qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json b/qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json new file mode 100644 index 00000000..6c590696 --- /dev/null +++ b/qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json @@ -0,0 +1,35 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11B-HEX8-BUCKLING-EXPERIMENTAL-MATRIX", + "work_package": "WP11B", + "source_sha": "eed9fc7cdeec07f77cccfa647cfa167031668bef", + "technical_decision": "EXPERIMENTAL_CANDIDATE", + "owner_decision": "APPROVE_EXPERIMENTAL", + "final_status": "EXPERIMENTAL", + "proposed_public_status": "EXPERIMENTAL", + "public_promotion_applied": true, + "owner_gate_required": false, + "scope": "HEX8 linear eigenvalue buckling; linear-elastic prestress; valid bounded cantilever solid block; first positive mode; exploratory/research use only", + "limitations": [ + "WP06 Euler and mesh-convergence FAIL results remain unchanged and visible.", + "No general Euler prediction or convergence claim.", + "No external correlation claim.", + "No production, certification, nonlinear, post-buckling, arbitrary-mesh, mixed-mesh or multi-mode claim." + ], + "integrity": { + "numerical_source_changed": false, + "bugs_found": false, + "bugs_fixed": false, + "predeclared_gates_changed": false, + "wp06_evidence_rewritten": false, + "historical_0_2_7_evidence_changed": false + }, + "registry_reconciliation": { + "source_registry": "qualification/0_2_7/capability_registry_v2.json", + "element_analysis_registry_total": 46, + "state_before_wp11b": {"QUALIFIED_BOUNDED": 32, "EXPERIMENTAL": 13, "NOT_QUALIFIED": 1}, + "transition": "COMB-HEX8-linear_buckling: NOT_QUALIFIED -> EXPERIMENTAL", + "state_after_wp11b": {"QUALIFIED_BOUNDED": 32, "EXPERIMENTAL": 14, "NOT_QUALIFIED": 0, "TOTAL": 46}, + "counts_consistent": true + } +} diff --git a/qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json b/qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json new file mode 100644 index 00000000..e6ccda18 --- /dev/null +++ b/qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json @@ -0,0 +1,523 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11B-HEX8-BUCKLING-EXPERIMENTAL-VNV", + "work_package": "WP11B", + "source_sha": "eed9fc7cdeec07f77cccfa647cfa167031668bef", + "contract": "qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json", + "benchmark": { + "benchmark": "clamped solid cantilever block under uniform end-face dead compression", + "rows": [ + { + "counts": [ + 2, + 2, + 2 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 27, + "element_count": 8, + "input_sha256": "8902251e5146042d6f1b64388b9bf549f3a4f5968daa587f8aeb4dcba3680c04", + "status": "PASS", + "critical_factor": 41.93968580637746, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9837637272860341, + "uy_norm": 0.007781431524640805, + "uz_norm": 0.9837329517949157, + "free_mode_norm": 1.0, + "mode_norm": 1.0, + "free_dof_count": 54, + "fixed_dof_count": 27 + }, + "solver_reported_residual_relative": 2.1514053896416884e-13, + "matrix_diagnostics": { + "preload_relative_residual": 1.2735713002240326e-12, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.19552159700416127, + "geometric_stiffness_eigenvalue_max": 0.09013475890125812, + "compression_sign_detected": true, + "initial_tangent_nnz": 2983, + "geometric_tangent_nnz": 1029, + "eigen_residual_relative_recomputed": 7.638955742304379e-14, + "free_dof_count": 54 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "41ecce0d0fb0d5587bee5dd9c55ac10bba09ccf54c6c96c5a1f414a6f43c3e4b" + }, + { + "counts": [ + 4, + 4, + 4 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "status": "PASS", + "critical_factor": 21.519985969228905, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9848193084385105, + "uy_norm": 0.00737776773031052, + "uz_norm": 0.9847916728002039, + "free_mode_norm": 1.0, + "mode_norm": 1.0, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 3.3462376299093653e-13, + "matrix_diagnostics": { + "preload_relative_residual": 9.172404067731643e-13, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.1920721192808331, + "geometric_stiffness_eigenvalue_max": 0.0778977113474885, + "compression_sign_detected": true, + "initial_tangent_nnz": 19173, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 5.448792949712956e-13, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "b7cba9732b8080a536a865bcd3c3a0e19c9bb969b6913efd382589ead5cac5b8" + }, + { + "counts": [ + 6, + 6, + 6 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 343, + "element_count": 216, + "input_sha256": "c8472eb819b9216740739113dd450b72832d4cb48493654572eb67f1b52d37f2", + "status": "PASS", + "critical_factor": 17.864877725683325, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9854051296636425, + "uy_norm": 0.007009848890160632, + "uz_norm": 0.9853801964652816, + "free_mode_norm": 1.0, + "mode_norm": 0.9999999999999999, + "free_dof_count": 882, + "fixed_dof_count": 147 + }, + "solver_reported_residual_relative": 3.3773894292663816e-13, + "matrix_diagnostics": { + "preload_relative_residual": 7.540002334897406e-13, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.14645761162149834, + "geometric_stiffness_eigenvalue_max": 0.07612177352333727, + "compression_sign_detected": true, + "initial_tangent_nnz": 60813, + "geometric_tangent_nnz": 20577, + "eigen_residual_relative_recomputed": 1.4984977588183868e-12, + "free_dof_count": 882 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "6ef51695c3ff3874e6793b4aebfd60df3449f4fdedd59dfb9048728c9a7513d5" + } + ], + "critical_factors": [ + 41.93968580637746, + 21.519985969228905, + 17.864877725683325 + ], + "adjacent_relative_changes": [ + 0.9488714289287349, + 0.20459743971775624 + ], + "trend": "decreasing_positive_factor_with_refinement", + "internal_gates": "PASS", + "refinement_characterization": "CHARACTERIZED_ONLY; no Euler convergence gate applied" + }, + "scaling_and_robustness": { + "E_scaling": { + "result": { + "counts": [ + 4, + 4, + 4 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 2000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "65f966b9820f9bd38f9fc5ad9fa1682d35fdbf2e604ca1aaea7371fe67637a0c", + "status": "PASS", + "critical_factor": 43.058482869300285, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9848193549496731, + "uy_norm": 0.00737774594313703, + "uz_norm": 0.9847917194758945, + "free_mode_norm": 1.0, + "mode_norm": 1.0, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 7.879260837747879e-13, + "matrix_diagnostics": { + "preload_relative_residual": 5.581777810271425e-13, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.19199084880907252, + "geometric_stiffness_eigenvalue_max": 0.07784056541085138, + "compression_sign_detected": true, + "initial_tangent_nnz": 19173, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 6.274688909934295e-13, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "07d257f595400577535d187c9d7526eb8ba2eadf9bad23dc9a883d04c11226d2" + }, + "expected_ratio": 2.0, + "observed_ratio": 2.0008601739271086, + "relative_error": 0.0004300869635542881, + "pass": true + }, + "preload_scaling": { + "result": { + "counts": [ + 4, + 4, + 4 + ], + "length": 4.0, + "load_total": 2.0, + "youngs_modulus": 1000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "657104f1888ed4d9349d46bcb7dd7c9401481cb1879aec75d6a1b501ccb876a3", + "status": "PASS", + "critical_factor": 10.75071931053297, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9848192149027284, + "uy_norm": 0.007377811537174607, + "uz_norm": 0.9847915789336078, + "free_mode_norm": 1.0, + "mode_norm": 1.0, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 3.3442041779370307e-13, + "matrix_diagnostics": { + "preload_relative_residual": 1.4301381951829807e-11, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.38447036247365546, + "geometric_stiffness_eigenvalue_max": 0.15602476105548674, + "compression_sign_detected": true, + "initial_tangent_nnz": 19173, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 5.737707840964777e-13, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "625ebf55481011729f0b02b61002ecafb0ecc69ed4d2eb31be7eda35c9e6990b" + }, + "expected_ratio": 0.5, + "observed_ratio": 0.4995690669085592, + "relative_error": 0.0008618661828816432, + "pass": true + }, + "length_sensitivity": { + "result": { + "counts": [ + 4, + 4, + 4 + ], + "length": 8.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "489d684f68c968e04b22470fcefbcb9cf9d0938c305ec95c6d2a03da6c7e164b", + "status": "PASS", + "critical_factor": 10.038186515624064, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9959587337799697, + "uy_norm": 0.0019735868694280524, + "uz_norm": 0.9959567783530916, + "free_mode_norm": 0.9999999999999999, + "mode_norm": 0.9999999999999999, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 6.420433085036614e-13, + "matrix_diagnostics": { + "preload_relative_residual": 1.2711375761653032e-12, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.09736362379078829, + "geometric_stiffness_eigenvalue_max": 0.1288986200969527, + "compression_sign_detected": true, + "initial_tangent_nnz": 19241, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 3.954942361821803e-12, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "4255a2fc8ef372fcf593a3831957fb5004c060019ffbb21fbb9710c6c19526be" + }, + "reference_factor": 21.519985969228905, + "pass": true + }, + "moderate_perturbation": { + "result": { + "counts": [ + 4, + 4, + 4 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "088603be88fdb9ae80f81d848b84496288f00737748ad8bf95157bc54160f382", + "status": "PASS", + "critical_factor": 21.520979720331244, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9848192695831947, + "uy_norm": 0.0073807844696983736, + "uz_norm": 0.9847916113386571, + "free_mode_norm": 0.9999999999999999, + "mode_norm": 0.9999999999999999, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 3.1022784383322076e-13, + "matrix_diagnostics": { + "preload_relative_residual": 9.366172272278455e-13, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.1922291336790877, + "geometric_stiffness_eigenvalue_max": 0.0778915211696791, + "compression_sign_detected": true, + "initial_tangent_nnz": 19249, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 4.2577487781220335e-13, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "7331b489c894ad9e462c139ba094f82f400121884205c5b9065431c7b89c4a6c" + }, + "observed_ratio": 1.0000461780553092, + "relative_change": 4.6178055309153976e-05, + "pass": true + }, + "invalid_orientation": { + "result": { + "counts": [ + 1, + 1, + 1 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 8, + "element_count": 1, + "input_sha256": "d0e143bb29e5eb09424387c6b72a1c810025b1166cbe27eaae46a31b32d811f6", + "status": "EXPECTED_FAILURE", + "failure_type": "MeshValidationError", + "failure_message": "Mesh validation failed: Element 0: invalid HEX8 geometry: Invalid HEX8 Jacobian determinant -6.000000e-01." + }, + "explicit_failure": true + }, + "status": "PASS" + }, + "replays": { + "required": 2, + "first": { + "counts": [ + 4, + 4, + 4 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "status": "PASS", + "critical_factor": 21.519985969228905, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9848193084385105, + "uy_norm": 0.00737776773031052, + "uz_norm": 0.9847916728002039, + "free_mode_norm": 1.0, + "mode_norm": 1.0, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 3.3462376299093653e-13, + "matrix_diagnostics": { + "preload_relative_residual": 9.172404067731643e-13, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.1920721192808331, + "geometric_stiffness_eigenvalue_max": 0.0778977113474885, + "compression_sign_detected": true, + "initial_tangent_nnz": 19173, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 5.448792949712956e-13, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "b7cba9732b8080a536a865bcd3c3a0e19c9bb969b6913efd382589ead5cac5b8" + }, + "second": { + "counts": [ + 4, + 4, + 4 + ], + "length": 4.0, + "load_total": 1.0, + "youngs_modulus": 1000.0, + "node_count": 125, + "element_count": 64, + "input_sha256": "c68013c14fe8e741ac312a7e032d4e953e04c0401a70aea5c8a014ba07e79ee9", + "status": "PASS", + "critical_factor": 21.519985969228905, + "mode_metrics": { + "dominant_lateral_direction": "UZ", + "lateral_fraction": 0.9848193084385105, + "uy_norm": 0.00737776773031052, + "uz_norm": 0.9847916728002039, + "free_mode_norm": 1.0, + "mode_norm": 1.0, + "free_dof_count": 300, + "fixed_dof_count": 75 + }, + "solver_reported_residual_relative": 3.3462376299093653e-13, + "matrix_diagnostics": { + "preload_relative_residual": 9.172404067731643e-13, + "geometric_stiffness_symmetry_relative": 0.0, + "geometric_stiffness_eigenvalue_min": -0.1920721192808331, + "geometric_stiffness_eigenvalue_max": 0.0778977113474885, + "compression_sign_detected": true, + "initial_tangent_nnz": 19173, + "geometric_tangent_nnz": 6591, + "eigen_residual_relative_recomputed": 5.448792949712956e-13, + "free_dof_count": 300 + }, + "physical_checks": { + "critical_factor_positive_finite": true, + "mode_finite": true, + "dominant_lateral_UZ": true, + "preload_residual": true, + "geometric_stiffness_symmetry": true, + "eigen_residual": true, + "compression_sign": true + }, + "evidence_digest": "b7cba9732b8080a536a865bcd3c3a0e19c9bb969b6913efd382589ead5cac5b8" + }, + "deterministic": true, + "comparison": "critical_factor, mode vector, residuals, matrix diagnostics and evidence digest" + }, + "external_oracle": { + "status": "NOT_AVAILABLE", + "comparable": false, + "reason": "No independent current comparable solver result was available; no correlation is claimed." + }, + "historical_preservation": { + "wp06_euler_fail_preserved": true, + "wp06_convergence_fail_preserved": true, + "wp06_records_rewritten": false, + "historical_0_2_7_evidence_changed": false + }, + "integrity": { + "numerical_source_changed": false, + "bugs_found": false, + "bugs_fixed": false, + "predeclared_gates_changed": false + }, + "gates": { + "primary_internal_checks": "PASS", + "physical_scaling": "PASS", + "invalid_geometry": true, + "replay_determinism": true, + "finite_eigenvalues": true, + "external_oracle": "NOT_REQUIRED_FOR_EXPERIMENTAL" + }, + "decision": "EXPERIMENTAL_CANDIDATE", + "proposed_public_status": "EXPERIMENTAL", + "owner_gate_required": true +} \ No newline at end of file diff --git a/qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json b/qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json new file mode 100644 index 00000000..9d6cff43 --- /dev/null +++ b/qualification/0_2_8/wp11b_hex8_buckling_owner_gate_final.json @@ -0,0 +1,63 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP11B-HEX8-BUCKLING-OWNER-GATE-FINAL", + "work_package": "WP11B", + "audited_commit": "a631a96838a55e50cf057ade77e816ce8e50be95", + "status": "CLOSED_WITH_APPROVE_EXPERIMENTAL", + "owner_decision": "APPROVE_EXPERIMENTAL", + "final_status": "EXPERIMENTAL", + "scope": "HEX8 linear eigenvalue buckling; linear-elastic prestress; valid bounded cantilever geometries; explicitly tested clamped solid-block boundary condition; first positive mode; exploratory/research use only.", + "audit_checks": { + "new_contract_predeclared": "PASS", + "benchmark_selected_before_results": "PASS", + "benchmark_physical_relevance": "PASS_WITH_LIMITATIONS", + "E_and_preload_scaling": "PASS", + "geometry_sensitivity": "PASS", + "mode_plausibility": "PASS; UZ dominant with lateral fraction about 0.984", + "mode_residuals": "PASS", + "refinement_characterization": "PASS_WITH_LIMITATIONS; positive decreasing factors, not general convergence", + "robustness": "PASS", + "invalid_geometry_rejection": "PASS", + "deterministic_replays": "PASS_2", + "external_oracle": "NOT_AVAILABLE; not required for this experimental status", + "WP06_failures_preserved": "PASS", + "claims_bounded": "PASS", + "opportunistic_numerical_change": "NOT_FOUND", + "historical_0_2_7_integrity": "PASS" + }, + "evidence": { + "contract": "qualification/0_2_8/wp11b_hex8_buckling_experimental_contract.json", + "campaign": "qualification/0_2_8/wp11b_hex8_buckling_experimental_vnv.json", + "matrix": "qualification/0_2_8/wp11b_hex8_buckling_experimental_matrix.json", + "critical_factors": [41.93968580637746, 21.519985969228905, 17.864877725683325], + "refinement_adjacent_changes": [0.9488714289287349, 0.20459743971775624], + "E_scaling_ratio": 2.0008601739271086, + "preload_scaling_ratio": 0.4995690669085592, + "length_scaled_factor": 10.038186515624064, + "max_recomputed_eigen_residual": 1.4984977588183868e-12, + "replay_digest_match": true + }, + "limitations": [ + "EXPERIMENTAL does not mean QUALIFIED_BOUNDED, normal-use or production-ready.", + "No general Euler prediction or convergence claim is made; WP06/WP06B Euler and convergence FAIL records remain visible.", + "No certification, imperfections, nonlinear/post-buckling, plasticity, arbitrary-mesh, universal-accuracy, multi-mode or mixed-mesh claim.", + "No external correlation claim; current comparable Code_Aster/CalculiX evidence was unavailable.", + "HEX8R, SRI, B-bar and hourglass formulations are excluded." + ], + "registry_reconciliation": { + "source_registry": "qualification/0_2_7/capability_registry_v2.json", + "element_analysis_registry_total": 46, + "state_before_wp11b": {"QUALIFIED_BOUNDED": 32, "EXPERIMENTAL": 13, "NOT_QUALIFIED": 1}, + "transition": "COMB-HEX8-linear_buckling: NOT_QUALIFIED -> EXPERIMENTAL", + "state_after_wp11b": {"QUALIFIED_BOUNDED": 32, "EXPERIMENTAL": 14, "NOT_QUALIFIED": 0, "TOTAL": 46}, + "counts_consistent": true + }, + "integrity": { + "numerical_source_changed": false, + "wp06_evidence_rewritten": false, + "wp06b_evidence_rewritten": false, + "historical_0_2_7_evidence_changed": false, + "maturity_claim_bounded": true + }, + "owner_gate_required_for": "Any future promotion beyond EXPERIMENTAL or any scope expansion" +} diff --git a/qualification/0_2_8/wp13_00_baseline.json b/qualification/0_2_8/wp13_00_baseline.json new file mode 100644 index 00000000..e5557888 --- /dev/null +++ b/qualification/0_2_8/wp13_00_baseline.json @@ -0,0 +1,89 @@ +{ + "schema_version": 1, + "baseline_id": "QF-SOLVER-0.2.8-WP13-00", + "start_sha_wp13": "30bff8d585b3988befaff9cc21e881098ff1b2df", + "purpose": "Frozen expansion baseline; no new mechanical capability is introduced by WP13-00.", + "maturity": { + "element_analysis_registry": { + "total": 46, + "state_counts": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 0 + }, + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 0, + "not_qualified_combination": null, + "source": "qualification/0_2_8/consolidated_registry.json" + }, + "mixed_static": "QUALIFIED_BOUNDED", + "mixed_modal": "QUALIFIED_BOUNDED", + "hex8_sri": "EXPERIMENTAL_BOUNDED", + "pyramid5": "INTERNAL_FEASIBLE_CONTINUE", + "large_mixed_300003_dof": "PASS_WITH_BOUNDED_EVIDENCE" + }, + "element_analysis_registry": { + "source": "qualification/0_2_8/consolidated_registry.json", + "source_registry": "qualification/0_2_7/capability_registry_v2.json", + "source_registry_sha256": "cea5cbc24f6c28b22903d7cbfe76aab83ae654e7029d5604f07937fb7f5d1b48", + "total": 46, + "state_counts": { + "QUALIFIED_BOUNDED": 32, + "EXPERIMENTAL": 14, + "NOT_QUALIFIED": 0 + }, + "registry_boundary": "Element/analysis combinations only; mixed workflows and variants are not counted here." + }, + "mixed_workflow_registry": { + "source": "qualification/0_2_8/consolidated_registry.json", + "records": [ + "MIXED-TET4-WEDGE6-HEX8-linear_static", + "MIXED-TET4-WEDGE6-HEX8-modal", + "MIXED-TET4-WEDGE6-HEX8-large-linear_static" + ], + "qualification_boundary": "Separate workflow records; no implicit transfer to the 46 combination registry." + }, + "experimental_research_registry": { + "source": "qualification/0_2_8/consolidated_registry.json", + "records": [ + "HEX8-SRI-linear_static", + "HEX8-linear_buckling-experimental", + "PYRAMID5-feasibility" + ], + "qualification_boundary": "Experimental and internal research records retain their own scopes and limitations." + }, + "baseline_tests": { + "command": "python -m pytest tests/unit tests/integration tests/verification tests/documentation", + "status": "PASS", + "passed": 2240, + "failed": 0, + "errors": 0, + "skipped": 184, + "warnings": 2 + }, + "deferred_p2": [ + "39 oversized files", + "193 runners", + "27 legacy links", + "legacy APIs", + "WP08 runner remains large but is below the architecture guard" + ], + "immutability": { + "qualification_0_2_7": { + "git_tree_at_start_sha": "4045eb7a6643a8b132e970ab7915c06ec0e6108c", + "registry_sha256": "cea5cbc24f6c28b22903d7cbfe76aab83ae654e7029d5604f07937fb7f5d1b48", + "policy": "Historical 0.2.7 qualification evidence is immutable and must remain byte-identical." + }, + "docs_verification_0_2_7": { + "git_tree_at_start_sha": "25e3e413bca957fc7421b3a7d9ef4d54d2310739", + "policy": "Historical 0.2.7 verification documentation is immutable." + } + }, + "references": { + "vnv_contract": "qualification/0_2_8/wp13_vnv_contract.json", + "evidence_pack_schema": "qualification/0_2_8/wp13_evidence_pack_schema.json", + "common_helpers": "scripts/wp13_common.py", + "guards": "scripts/wp13_00_guards.py" + } +} diff --git a/qualification/0_2_8/wp13_01a_mixed_petsc_contract.json b/qualification/0_2_8/wp13_01a_mixed_petsc_contract.json new file mode 100644 index 00000000..47cf0a0a --- /dev/null +++ b/qualification/0_2_8/wp13_01a_mixed_petsc_contract.json @@ -0,0 +1,79 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01A-MIXED-PETSC-MPI-001", + "status": "PREDECLARED", + "source_sha": "0c6204f398a8350c9e3fdb5e68f40708a5ca1750", + "scope": { + "capability": "distributed PETSc/MPI mixed linear_static feasibility", + "analysis": "linear_static", + "element_families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node interfaces only", + "materials": "small-strain linear isotropic elasticity", + "loads": "declared nodal loads used by the test model", + "claim": "architecture feasibility only; no public performance or qualification claim" + }, + "oracle": { + "reference": "same conforming mixed model solved through the existing serial SciPy mixed workflow", + "independence": "independent backend execution plus exact topology, family-contribution and global-DOF checks", + "external_correlation": "not required for this feasibility spike; no external correlation is claimed" + }, + "tolerances": { + "predeclared": true, + "gates": [ + {"id": "displacement_relative_l2", "operator": "<=", "limit": 1.0e-10}, + {"id": "reaction_relative_l2", "operator": "<=", "limit": 1.0e-10}, + {"id": "residual_relative_l2", "operator": "<=", "limit": 1.0e-10}, + {"id": "equilibrium_relative", "operator": "<=", "limit": 1.0e-10}, + {"id": "energy_relative", "operator": "<=", "limit": 1.0e-10}, + {"id": "dof_count", "operator": "==", "limit": 0}, + {"id": "connectivity_digest", "operator": "==", "limit": 0}, + {"id": "family_contribution_count", "operator": ">", "limit": 0} + ], + "post_observation_retuning": false + }, + "required_metrics": [ + "displacement", + "reactions", + "residual", + "equilibrium", + "energy", + "global_dof_count", + "connectivity_digest", + "element_contributions_by_family", + "ownership", + "ghost_nodes", + "bc_distribution", + "load_distribution", + "preallocation", + "reallocations", + "global_gather", + "replay_digest" + ], + "replay_count": 2, + "owner_gate": { + "required": true, + "decision": "GO or NO_GO", + "promotion": "none; WP13-01A cannot change maturity" + }, + "abort_criteria": [ + "mixed element records are rejected by the large-model input contract", + "any TET4/WEDGE6/HEX8 family is absent from distributed assembly", + "PETSc/MPI execution is unavailable or falls back silently to SciPy", + "partition changes physical results beyond the predeclared gates", + "ownership, ghosting, interface, BC, load or reaction accounting is inconsistent", + "a global gather is structurally required for the proposed mixed large path", + "a major backend redesign is required before a two-rank concept test is possible" + ], + "claim_limitations": [ + "No 1M DOF target is executed in WP13-01A.", + "No mixed dynamics, MPC/RBE, multi-material, industrial import or public benchmark is included.", + "Existing TET4-only large evidence is not transferred to mixed elements.", + "The 46 element-analysis registry and mixed-workflow registry remain separate.", + "Historical 0.2.7 evidence is immutable." + ], + "environment": { + "required": ["Python", "mpi4py", "petsc4py", "MPI launcher"], + "rank_counts": [1, 2, 4], + "capture": ["python_version", "mpi4py_version", "petsc4py_version", "mpi_implementation", "rank_count", "commands"] + } +} diff --git a/qualification/0_2_8/wp13_01a_mixed_petsc_evidence.json b/qualification/0_2_8/wp13_01a_mixed_petsc_evidence.json new file mode 100644 index 00000000..4771e1eb --- /dev/null +++ b/qualification/0_2_8/wp13_01a_mixed_petsc_evidence.json @@ -0,0 +1,117 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01A-MIXED-PETSC-MPI-001", + "status": "NO_GO", + "source": { + "start_sha": "0c6204f398a8350c9e3fdb5e68f40708a5ca1750", + "baseline": "WP13-00" + }, + "environment": { + "python": "3.13.1", + "mpi4py": "4.1.0", + "petsc4py": null, + "mpi": "Microsoft MPI 10.1.12498.52", + "mpi_launcher": "mpiexec available; 2-rank mpi4py smoke PASS", + "host_rank_count": 1 + }, + "inputs": [ + { + "id": "WP07-mixed-serial-case-1", + "status": "PASS", + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "total_elements": 3, + "total_dof": 33, + "source": "existing WP07 mixed static reference" + }, + { + "id": "backend-audit", + "status": "PASS", + "source_paths": [ + "src/solveur/large/model.py", + "src/solveur/large/io.py", + "src/solveur/large/distributed_model.py", + "src/solveur/large/partitioning.py", + "src/solveur/large/assembler.py", + "src/solveur/large/solver.py", + "src/solveur/large/postprocess.py" + ] + } + ], + "commands": [ + "python -m pytest -q tests/verification/test_028_wp07_mixed_static.py tests/unit/test_distributed_large_model.py tests/unit/test_large_petsc_contract.py tests/unit/test_large_assembler.py tests/unit/test_large_assembler_contract.py tests/integration/test_large_model.py -k WP13-01A-targeted", + "mpiexec -n 2 python -c \"from mpi4py import MPI; ...\"", + "python -c \"import importlib.util; ... petsc4py=False\"" + ], + "outputs": [ + {"id": "targeted-tests", "status": "PASS", "result": "23 passed, 22 deselected in 4.33s"}, + {"id": "mpi-launcher-smoke", "status": "PASS", "result": "rank=0/2; rank=1/2"}, + {"id": "petsc-backend-readiness", "status": "FAIL_CLOSED", "result": "petsc4py unavailable"}, + {"id": "mixed-petsc-concept", "status": "NOT_RUN", "reason": "large backend contract is TET4-only and petsc4py is unavailable"} + ], + "metrics": { + "petsc_backend_classification": "TET4_ONLY", + "architecture_extension_class": "MAJOR_REDESIGN", + "architecture_redesign_required": true, + "distributed_dof_map": "PARTIAL: global/local numbering exists only in the TET4 LargeModel contract", + "element_ownership": "TET4_ONLY: contiguous and graph partitioners exchange TET4 rows", + "ghost_handling": "TET4_ONLY: compact halo nodes are derived from global_tet4; no family-generic halo records", + "mixed_dispatch": "MISSING in large backend; core ElementRegistry is not used by PETSc assembly", + "distributed_assembly": "TET4_ONLY: PetscTET4Assembler and tet4_batch kernels", + "preallocation": "TET4_ONLY: fixed BAIJ nnz=40 or structured six-TET4 AIJ pattern", + "bc_distribution": "TET4_ONLY: distributed HDF5 boundary filtering exists; no mixed schema", + "load_distribution": "TET4_ONLY: nodal load arrays; distributed loads rejected during conversion", + "reactions": "MISSING from distributed PETSc result contract", + "postprocessing": "TET4_ONLY: postprocess_large_tet4 and tet4_response_batch", + "solver_dispatch": "PARTIAL: PETSc dispatch exists but routes all large models to TET4 assembler", + "result_gathering": "PARTIAL: root Gatherv for replicated input, MPI-IO for distributed TET4 output", + "replay_determinism": "PARTIAL: existing TET4 evidence only; no mixed distributed replay", + "error_handling": "READY for missing backend/unsupported scope fail-closed; mixed-specific distributed checks absent", + "tet4_only_assumptions_found": [ + "LargeModel and HDF5/NPZ schemas expose tet4 connectivity only.", + "DistributedLargeModel stores tet4/global_tet4 and load_distributed_large_model reads the tet4 dataset only.", + "Partitioning builds TET4 four-face dual graphs and exchanges fixed-width TET4 rows.", + "PETSc stiffness/mass assembly calls tet4_batch kernels, 12x12 local matrices and TET4 material policy.", + "PETSc BAIJ/AIJ preallocation is fixed or exact only for TET4 patterns.", + "Large audit, readiness, solver dynamics and post-processing are TET4-scoped.", + "Non-TET4 conversion is explicitly rejected; no silent fallback is available." + ], + "serial_reference": { + "status": "PASS", + "source": "existing WP07 mixed static case", + "TET4": 1, + "WEDGE6": 1, + "HEX8": 1, + "total_elements": 3, + "total_dof": 33, + "residual_relative": 1.2230794959180354e-16, + "equilibrium_relative": 3.7478747353235883e-16, + "energy_relative": 5.551115123125783e-17 + }, + "petsc_1_rank": {"status": "BLOCKED_DEPENDENCY", "petsc4py_available": false}, + "mpi_2_ranks": {"status": "NOT_RUN", "mpi4py_smoke": "PASS", "petsc4py_available": false}, + "mpi_4_ranks": {"status": "NOT_RUN", "reason": "PETSc dependency unavailable"}, + "partition_invariance": "NOT_EVALUATED: no mixed PETSc execution", + "global_gather_present": "YES on replicated-input PETSc path; distributed TET4 output avoids root displacement gather via MPI-IO", + "scalable_to_1m_assessment": "NO_GO for mixed; existing 1M evidence is bounded to TET4", + "intermediate_status": "NOT_RUN_ARCHITECTURE_KILL_GATE", + "numerical_source_changed": false, + "bugs_found": "No numerical bug; mixed distributed backend capability is absent by design.", + "bugs_fixed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false + }, + "replays": [ + {"id": "mixed-petsc-replay-1", "status": "NOT_RUN", "reason": "PETSc unavailable and architecture is TET4-only"}, + {"id": "mixed-petsc-replay-2", "status": "NOT_RUN", "reason": "PETSc unavailable and architecture is TET4-only"} + ], + "digests": { + "contract": "28081b9da3c8d0b806dbbab6c7f4859a8b7bb8634180d1cd8497789ce86f65ca", + "inputs": "aff8edb84df79e5fe192f9d1dcc7e34f15ee71891ac734bd7a902c97c69b0656", + "outputs": "25610c0e464e8e9d4cf511f4dc6f69affaa0dc668c36690412b9955df303150f", + "metrics": "f3602239bcd317ec55e1edcbfde63e33f20043a86399265a5184fc746555948d" + }, + "owner_decision": { + "status": "NO_GO", + "reason": "The current large PETSc/MPI path is structurally TET4-only; mixed support requires a major redesign before a valid two-rank concept test." + } +} diff --git a/qualification/0_2_8/wp13_01b_architecture_contract.json b/qualification/0_2_8/wp13_01b_architecture_contract.json new file mode 100644 index 00000000..493323b7 --- /dev/null +++ b/qualification/0_2_8/wp13_01b_architecture_contract.json @@ -0,0 +1,74 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01B-MIXED-DISTRIBUTED-ARCHITECTURE-001", + "status": "PREDECLARED", + "source_sha": "fb01146c1caab4cf23304d0f1ca62601e136f886", + "scope": { + "capability": "family-aware distributed architecture for mixed solids", + "analysis": "linear_static architecture only", + "element_families": ["TET4", "WEDGE6", "HEX8"], + "backend": "backend-neutral shadow partitions; PETSc adapter boundary only", + "interfaces": "conforming shared-node interfaces", + "claim": "architecture readiness for WP13-01C; no PETSc/MPI runtime qualification" + }, + "oracle": { + "reference": "existing serial GlobalAssembler on the same mixed FiniteElementModel", + "independence": "partition-local dispatch and sparse recomposition are separate from serial matrix assembly", + "external_correlation": "not applicable to an architecture spike" + }, + "tolerances": { + "predeclared": true, + "gates": [ + {"id": "shadow_matrix_relative", "operator": "<=", "limit": 1.0e-12}, + {"id": "dof_count", "operator": "==", "limit": 0}, + {"id": "element_set_difference", "operator": "==", "limit": 0}, + {"id": "family_contribution_count", "operator": ">", "limit": 0}, + {"id": "duplicate_node_ownership", "operator": "==", "limit": 0}, + {"id": "duplicate_bc_or_load_ownership", "operator": "==", "limit": 0} + ], + "post_observation_retuning": false + }, + "required_metrics": [ + "distributed_model_schema", + "global_local_dof_map", + "owned_and_ghost_nodes", + "element_ownership", + "neighboring_ranks", + "mixed_element_dispatch", + "connectivity_derived_preallocation", + "bc_ownership", + "load_ownership", + "reaction_reduction_contract", + "family_aware_result_schema", + "shadow_partition_recomposition", + "legacy_tet4_compatibility", + "global_gather_audit" + ], + "replay_count": 2, + "owner_gate": { + "required": true, + "decision": "PASS or FAIL_ARCHITECTURE", + "promotion": "none; maturity and public runtime claims remain unchanged" + }, + "abort_criteria": [ + "a family-specific distributed backend is required instead of the generic layer", + "any TET4/WEDGE6/HEX8 family is lost or duplicated during partitioning", + "shadow recomposition differs from serial mixed assembly beyond the fixed gate", + "ownership or ghost maps are ambiguous", + "BC or nodal-load ownership can be duplicated or dropped", + "the generic path requires a structural global gather of K, connectivity or element fields", + "legacy TET4 large conversion or its existing targeted contracts regress" + ], + "claim_limitations": [ + "No PETSc/MPI runtime is executed or qualified in WP13-01B.", + "No 1M DOF, performance, mixed dynamics, MPC/RBE or multi-material claim is made.", + "The shadow recomposition is a validation harness, not a production solver backend.", + "Historical 0.2.7 evidence remains immutable.", + "The 46 element-analysis registry and mixed-workflow registry remain separate." + ], + "environment": { + "required": ["Python", "NumPy", "SciPy"], + "petsc4py": "optional and intentionally not required", + "capture": ["python_version", "commands", "rank_simulation", "source_sha", "artifact_digests"] + } +} diff --git a/qualification/0_2_8/wp13_01b_architecture_evidence.json b/qualification/0_2_8/wp13_01b_architecture_evidence.json new file mode 100644 index 00000000..e30b88e0 --- /dev/null +++ b/qualification/0_2_8/wp13_01b_architecture_evidence.json @@ -0,0 +1,97 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01B-MIXED-DISTRIBUTED-ARCHITECTURE-001", + "status": "PASS_ARCHITECTURE_ONLY", + "source": { + "start_sha": "fb01146c1caab4cf23304d0f1ca62601e136f886", + "baseline": "WP13-01A", + "parent_contract": "qualification/0_2_8/wp13_01a_mixed_petsc_contract.json" + }, + "environment": { + "python": "3.13.1", + "numpy": "available", + "scipy": "available", + "petsc4py": "not required/not used", + "rank_simulation": "logical partitions 1 and 2", + "host_mpi": "Microsoft MPI 10.1.12498.52; mpi4py smoke previously PASS" + }, + "inputs": [ + { + "id": "WP07-mixed-model", + "status": "PASS", + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "total_elements": 3, + "total_dof": 33, + "source": "scripts/run_wp07_mixed_static.py::_base_model(1)" + }, + { + "id": "legacy-tet4-contract", + "status": "PASS", + "source_paths": [ + "src/solveur/large/model.py", + "src/solveur/large/io.py", + "tests/integration/test_large_model.py" + ] + }, + { + "id": "generic-architecture", + "status": "PASS", + "source_paths": ["src/solveur/large/generic_distributed.py"] + } + ], + "commands": [ + "python -m pytest -q tests/unit/test_wp13_01b_generic_distributed.py tests/unit/test_wp13_01a_architecture.py tests/verification/test_028_wp07_mixed_static.py tests/unit/test_distributed_large_model.py tests/unit/test_large_petsc_contract.py tests/unit/test_large_assembler.py tests/unit/test_large_assembler_contract.py tests/integration/test_large_model.py -k WP13-01B-targeted", + "python -m ruff check src/solveur/large/generic_distributed.py tests/unit/test_wp13_01b_generic_distributed.py tests/unit/test_wp13_01a_architecture.py scripts/wp13_common.py", + "python -m compileall -q src/solveur/large/generic_distributed.py scripts tests/unit/test_wp13_01a_architecture.py tests/unit/test_wp13_01b_generic_distributed.py" + ], + "outputs": [ + {"id": "targeted-tests", "status": "PASS", "result": "32 passed, 22 deselected in 4.86s"}, + {"id": "schema", "status": "PASS", "result": "TET4/WEDGE6/HEX8 blocks; legacy TET4 remains separate"}, + {"id": "shadow-partition-1", "status": "PASS", "result": "3 elements; 33 DOF; all families dispatched"}, + {"id": "shadow-partition-2", "status": "PASS", "result": "owned/ghost/interface maps valid; recomposed matrix matches serial"}, + {"id": "failure-contract", "status": "PASS", "result": "unsupported family and invalid partition size fail explicitly"}, + {"id": "petsc-runtime", "status": "DEFERRED_TO_WP13_01C", "result": "no petsc4py execution by contract"} + ], + "metrics": { + "distributed_model_schema": "PASS", + "supported_families": ["TET4", "WEDGE6", "HEX8"], + "generic_dof_map": "PASS", + "generic_partitioning": "PASS", + "ownership_model": "PASS", + "ghost_model": "PASS", + "mixed_element_dispatch": "PASS via ElementRegistry", + "generic_preallocation": "PASS; exact connectivity-derived diag/offdiag metadata; no 12x12 hardcode", + "bc_contract": "PASS; one node-owner per constrained DOF", + "load_contract": "PASS; one node-owner per nodal load", + "reaction_contract": "PASS; local contributions reduce then publish once at DOF owner", + "global_gather_architecture": "PASS; generic path gathers neither K nor connectivity nor element fields; shadow recomposition is test-only", + "scalable_path_available": "ARCHITECTURE_READY_FOR_WP13_01C; PETSc runtime unvalidated", + "postprocessing_schema": "PASS; nodal displacement plus family/element/material/region fields", + "shadow_partition_1": {"status": "PASS", "TET4": 1, "WEDGE6": 1, "HEX8": 1, "total_elements": 3, "total_dof": 33}, + "shadow_partition_2": {"status": "PASS", "ghost_nodes": "present at shared interfaces", "family_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}}, + "partition_recomposition": "PASS; relative matrix tolerance <= 1e-12", + "serial_reference_comparison": "PASS; shadow sparse matrix matches existing GlobalAssembler mixed matrix", + "legacy_tet4_compatibility": "PASS; existing targeted TET4 conversion/distributed contracts pass", + "petsc_runtime_validation": "DEFERRED_TO_WP13_01C", + "numerical_source_changed": false, + "formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false + }, + "replays": [ + {"id": "shadow-replay-1", "status": "PASS", "partition_counts": [1, 2], "deterministic": "PASS"}, + {"id": "shadow-replay-2", "status": "PASS", "partition_counts": [1, 2], "deterministic": "PASS"} + ], + "digests": { + "contract": "2dabafa12ec24f1ebeb7e90c801d00b8aec8e9d459313040da68161ee9b8f17f", + "inputs": "1318cea169c030df0bdb7c1972c5b7b0808798ab9f373d79415d6e0b60ab616d", + "outputs": "fc348ea1ace2d385c07e6c3983ec214ba4a304b70203109d3fe1646c3a392151", + "metrics": "df41743df0461e98485c78630031b78a7e5d403a422523383645826dfc930d86" + }, + "owner_decision": { + "status": "PASS", + "decision": "ARCHITECTURE_ONLY", + "runtime_gate": "WP13-01C_REQUIRED", + "reason": "Generic schema, partition, dispatch, ownership, preallocation, reaction and result contracts pass without changing the numerical core." + } +} diff --git a/qualification/0_2_8/wp13_01b_distributed_mixed_arch_arrays.npz b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_arrays.npz new file mode 100644 index 00000000..5e985cf5 Binary files /dev/null and b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_arrays.npz differ diff --git a/qualification/0_2_8/wp13_01b_distributed_mixed_arch_contract.json b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_contract.json new file mode 100644 index 00000000..a6e3566c --- /dev/null +++ b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_contract.json @@ -0,0 +1,148 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01B-DISTRIBUTED-MIXED-ARCH-CONTRACT", + "contract_id": "WP13-01B-DISTRIBUTED-MIXED-ARCH-001", + "work_package": "WP13-01B", + "creation_sha": "c9ccd4891fea2f83e0c5302fa85bc3cbcf88e6e0", + "status": "PREDECLARED_NOT_EXECUTED", + "contract_created_before_validation": true, + "objective": "Complete and validate a backend-neutral, rank-local mixed-solid distributed architecture for a future PETSc/MPI runtime. This work package explicitly excludes PETSc runtime and scaling qualification.", + "historical_context": { + "wp13_01a_status": "NO_GO", + "wp13_01a_conclusion": "ARCHITECTURE_EXTENSION_MAJOR_REDESIGN", + "legacy_large_route": "TET4_ONLY and immutable in this work package", + "serial_mixed_reference": "qualified bounded TET4/WEDGE6/HEX8 linear-static workflow", + "historical_0_2_7_evidence_read_only": true, + "maturity_registry_read_only": true + }, + "scope": { + "analysis": "linear_static architecture only", + "families": { + "TET4": {"nodes": 4, "translational_dofs": 12}, + "WEDGE6": {"nodes": 6, "translational_dofs": 18}, + "HEX8": {"nodes": 8, "translational_dofs": 24} + }, + "model": "conforming connected shared-node mixed solid model", + "runtime": "backend-neutral structural validation; PETSc/MPI runtime is deferred to WP13-01C", + "excluded": [ + "PETSc production solve", + "MPI scaling or performance claim", + "one-million-DOF claim", + "modal or transient distributed solve", + "MPC/RBE/contact distributed solve", + "distributed result post-processing qualification", + "element formulation changes", + "legacy large TET4 route changes", + "maturity promotion" + ] + }, + "architecture_contract": { + "element_descriptor_source": "solveur.elements.registry.ElementRegistry", + "no_parallel_element_table": true, + "variable_connectivity": "family blocks derive node counts and local DOFs from ElementRegistry descriptors", + "rank_local_envelope": [ + "owned element records", + "local node coordinates for owned plus ghost nodes", + "global node and element ids", + "family, material and region metadata", + "node and element ownership", + "explicit ghost nodes", + "local/global DOF maps" + ], + "assembly": "owned rows with local and off-process-column insertion metadata; deterministic element-id order", + "reaction": "local K*u-F contributions reduce to the unique owner of each constrained DOF", + "gather_policy": "No global K, global connectivity, global displacement or global element-result gather is structurally required. A global model may exist only in the serial partition simulator or explicit debug reconstruction." + }, + "gates": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "serial_matrix_relative": {"operator": "<=", "value": 1.0e-12}, + "serial_load_relative": {"operator": "<=", "value": 1.0e-12}, + "serial_displacement_relative": {"operator": "<=", "value": 1.0e-12}, + "serial_reaction_relative": {"operator": "<=", "value": 1.0e-12}, + "sparsity_exact": {"operator": "==", "value": true}, + "owned_element_multiplicity": {"operator": "==", "value": 1}, + "owned_node_multiplicity": {"operator": "==", "value": 1}, + "bc_load_ownership_multiplicity": {"operator": "==", "value": 1}, + "local_matrix_relative": {"operator": "<=", "value": 1.0e-12}, + "replay_semantic_digest": {"operator": "==", "value": "identical"}, + "failure_contract": {"operator": "==", "value": "all declared cases reject explicitly"} + }, + "validation": { + "benchmark": "existing connected TET4/WEDGE6/HEX8 linear-static manufactured mixed model; fixed support, owned and interface nodal loads", + "partition_counts": [2, 3], + "required": [ + "descriptor-derived local TET4/WEDGE6/HEX8 stiffness dispatch", + "variable-size connectivity and local DOF maps", + "owned element and node uniqueness", + "ghost and interface-node coherence", + "rank-local envelope self-sufficiency for local dispatch", + "connectivity-derived preallocation versus exact serial sparsity", + "distributed BC ownership including owned, ghost and partition-boundary DOFs", + "distributed nodal load ownership including owned, ghost and multiple loads", + "reaction reduction architecture R=K*u-F", + "logical assembly recomposition versus serial K and F", + "two deterministic replays" + ], + "petsc": { + "probe_allowed": true, + "absence_status": "NOT_AVAILABLE_DEFERRED_TO_WP13_01C", + "no_runtime_claim_if_absent": true + } + }, + "failure_contract": { + "cases": [ + "unsupported_element_family", + "malformed_connectivity", + "invalid_element_owner", + "duplicate_owned_element", + "missing_ghost_node", + "invalid_local_global_dof_map", + "missing_material", + "inconsistent_partition", + "unsupported_dof_layout" + ], + "actual_execution_required": true, + "any_exception_is_not_automatically_pass": true, + "silent_fallback_allowed": false, + "trace_fields": ["case_id", "input", "input_digest", "execution_path", "expected_exception", "observed_exception", "message_match", "pass"] + }, + "evidence_schema": { + "required_fields": [ + "contract_id", + "contract_sha", + "repo_sha", + "environment", + "architecture_map", + "mixed_model", + "partition_results", + "local_dispatch", + "preallocation", + "bc_load", + "reaction_architecture", + "serial_equivalence", + "failure_cases", + "replays", + "gate_decisions", + "integrity" + ], + "contract_values_single_source_of_truth": true + }, + "claim_policy": { + "maximum_pre_owner_claim": "Generic backend-neutral mixed distributed architecture foundation for conforming linear-static TET4/WEDGE6/HEX8 models, pending PETSc/MPI runtime validation in WP13-01C.", + "forbidden": [ + "PETSc runtime validated", + "MPI scaling validated", + "performance or one-million-DOF claim", + "distributed modal or dynamics", + "arbitrary families or DOF layouts", + "maturity promotion" + ] + }, + "integrity": { + "element_formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false, + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + } +} diff --git a/qualification/0_2_8/wp13_01b_distributed_mixed_arch_evidence.json b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_evidence.json new file mode 100644 index 00000000..8f40d707 --- /dev/null +++ b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_evidence.json @@ -0,0 +1,3877 @@ +{ + "architecture_map": { + "GENERIC": [ + "src/solveur/elements/registry.py:ElementRegistry", + "src/solveur/core/dofs.py:DofManager", + "src/solveur/large/generic_distributed.py:RankLocalModel", + "src/solveur/large/generic_distributed.py:exchange_preallocation_metadata" + ], + "MISSING": [ + "mixed PETSc Mat/Vec runtime creation", + "MPI owner/ghost value exchange", + "distributed constrained solve and reaction reduction execution", + "mixed distributed result post-processing qualification" + ], + "PARTIAL": [ + "src/solveur/large/partitioning.py:PETSc helpers await mixed runtime adapter", + "src/solveur/large/runtime.py:runtime ownership/ghost exchange awaits WP13-01C", + "src/solveur/large/generic_distributed.py:reaction packets require PETSc reduction in WP13-01C" + ], + "TET4_ONLY_LEGACY": [ + "src/solveur/large/model.py", + "src/solveur/large/io.py", + "src/solveur/large/assembler.py", + "src/solveur/large/postprocess.py", + "src/solveur/large/dynamic.py", + "src/solveur/large/audit.py" + ] + }, + "bc_load": { + "distributed_bc": "owned constrained DOFs assigned exactly once by node owner", + "distributed_load": "owned nodal load records assigned exactly once by node owner", + "ghost_load_visibility": true + }, + "contract_id": "WP13-01B-DISTRIBUTED-MIXED-ARCH-001", + "contract_sha": "e5932862c36f8a2a13b3d848f2117ba40473adb2b6dd85a52ba60c6184dc1472", + "environment": { + "numpy": "2.2.6", + "petsc": { + "available": "NO", + "status": "NOT_AVAILABLE_DEFERRED_TO_WP13_01C", + "tested": "NO" + }, + "platform": "Windows-10-10.0.19045-SP0", + "python": "3.13.1", + "validation_mode": "backend-neutral serial partition simulation" + }, + "evidence_schema_valid": true, + "failure_cases": [ + { + "case_id": "unsupported_element_family", + "execution_path": "ElementBlock.__post_init__", + "expected_exception": "InputValidationError", + "expected_message_pattern": "Unsupported distributed element family", + "input": { + "family": "PYRAMID5" + }, + "input_digest": "ed09e6fbf175c96042c68ad5a7175557b7afe12b7332aeed8095311e98daa6bb", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Unsupported distributed element family 'PYRAMID5'.", + "pass": true, + "type_match": true + }, + { + "case_id": "malformed_connectivity", + "execution_path": "ElementBlock.__post_init__", + "expected_exception": "InputValidationError", + "expected_message_pattern": "distributed connectivity", + "input": { + "connectivity_shape": [ + 1, + 3 + ], + "family": "TET4" + }, + "input_digest": "4f08036610ae3e0834992df8dd594031edc10eced0f2b77c159e890f69c1c90a", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "TET4 distributed connectivity must have shape (n, 4).", + "pass": true, + "type_match": true + }, + { + "case_id": "invalid_element_owner", + "execution_path": "validate_partitions", + "expected_exception": "InputValidationError", + "expected_message_pattern": "invalid owner", + "input": { + "element_id": 0, + "owner": 1 + }, + "input_digest": "30d7722b0463b8a262959126552de408f33817c164ab4f83e811f5ab1a963c78", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Distributed partition has an element with an invalid owner.", + "pass": true, + "type_match": true + }, + { + "case_id": "duplicate_owned_element", + "execution_path": "validate_partitions", + "expected_exception": "InputValidationError", + "expected_message_pattern": "lost or duplicated an element", + "input": { + "duplicate_element_id": 0 + }, + "input_digest": "ef1f2c9ac011c6ed1b7bca4e1b3056f610ee4f61502278b2f529eee7fee146b8", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Distributed partitioning lost or duplicated an element.", + "pass": true, + "type_match": true + }, + { + "case_id": "missing_ghost_node", + "execution_path": "validate_partitions", + "expected_exception": "InputValidationError", + "expected_message_pattern": "local node map is incoherent", + "input": { + "ghost_nodes": [], + "rank": 1 + }, + "input_digest": "18faf20223db3fedd648a8c6934288e6e680bab8bae7e908ad41ff03e1a9fd13", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Distributed partition local node map is incoherent.", + "pass": true, + "type_match": true + }, + { + "case_id": "invalid_local_global_dof_map", + "execution_path": "RankLocalDofMap.__post_init__", + "expected_exception": "InputValidationError", + "expected_message_pattern": "node local/global mapping", + "input": { + "node_local_index": 99, + "rank": 0 + }, + "input_digest": "9886f9928ea21512efe3287a4d4d01e2e5175bd305fdeb8dfa0853ec472ab426", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Rank-local node local/global mapping is invalid.", + "pass": true, + "type_match": true + }, + { + "case_id": "missing_material", + "execution_path": "RankLocalModel.__post_init__", + "expected_exception": "InputValidationError", + "expected_message_pattern": "unknown material", + "input": { + "materials": {}, + "rank": 0 + }, + "input_digest": "5a4f270cf84d35fb0497755ae240c706fcc6d4ebf9d024ca3fa8186e555a8c09", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Rank-local element references unknown material 'solid'.", + "pass": true, + "type_match": true + }, + { + "case_id": "inconsistent_partition", + "execution_path": "validate_partitions", + "expected_exception": "InputValidationError", + "expected_message_pattern": "sizes disagree", + "input": { + "declared_size": 3, + "rank": 0 + }, + "input_digest": "88e2d0d3cbf14a1b82b645efdd9f7a8e063c42d5ee0d9f5434ffd626494fde0b", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Distributed partition sizes disagree.", + "pass": true, + "type_match": true + }, + { + "case_id": "unsupported_dof_layout", + "execution_path": "GenericDistributedModel.__post_init__", + "expected_exception": "InputValidationError", + "expected_message_pattern": "translational DOFs only", + "input": { + "additional_dof": "RX", + "node": 0 + }, + "input_digest": "0cf0a858ea1e0edc264bbc6ec1318bf00772e4691e5c165128e9d4d5e39c9b15", + "message_match": true, + "observed_exception": "InputValidationError", + "observed_message": "Generic distributed solid schema supports translational DOFs only.", + "pass": true, + "type_match": true + } + ], + "failure_cases_executed": 9, + "gate_decisions": { + "displacement": true, + "failure_contract": true, + "load": true, + "local_dispatch": true, + "matrix": true, + "ownership": true, + "reaction": true, + "replay": true, + "sparsity": true + }, + "integrity": { + "contract_values_single_source_of_truth": true, + "element_formulation_changed": false, + "historical_0_2_7_evidence_changed": false, + "mandatory_global_gather": false, + "maturity_changed": false, + "raw_array_digest": "2164b51f1608941a6c9d6b23eabb718e7b5730a7ef59358cff922c4c5c63b665", + "raw_array_keys": [ + "manufactured_expected_displacement", + "partition_2_displacement", + "partition_2_load", + "partition_2_reaction", + "partition_2_stiffness", + "partition_3_displacement", + "partition_3_load", + "partition_3_reaction", + "partition_3_stiffness" + ], + "raw_array_path": "qualification/0_2_8/wp13_01b_distributed_mixed_arch_arrays.npz", + "replicated_model_required": false + }, + "local_dispatch": { + "families": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "global_model_retained_by_rank_local_envelope": false, + "max_relative_error": 0.0, + "sizes": { + "HEX8": [ + 24, + 24 + ], + "TET4": [ + 12, + 12 + ], + "WEDGE6": [ + 18, + 18 + ] + } + }, + "mixed_model": { + "connected": true, + "descriptor_source": "solveur.elements.registry.ElementRegistry", + "dof_count": 33, + "element_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "families": [ + "TET4", + "WEDGE6", + "HEX8" + ], + "fixed_local_dof_assumption": false, + "fixed_nodes_per_element_assumption": false, + "node_count": 11 + }, + "partition_results": [ + { + "boundary_ownership": { + "duplicate_fixed_ownership": false, + "duplicate_load_ownership": false, + "fixed": [ + { + "dof": 0, + "node": 0, + "rank": 0 + }, + { + "dof": 1, + "node": 0, + "rank": 0 + }, + { + "dof": 2, + "node": 0, + "rank": 0 + }, + { + "dof": 6, + "node": 2, + "rank": 0 + }, + { + "dof": 7, + "node": 2, + "rank": 0 + }, + { + "dof": 8, + "node": 2, + "rank": 0 + }, + { + "dof": 9, + "node": 3, + "rank": 0 + }, + { + "dof": 10, + "node": 3, + "rank": 0 + }, + { + "dof": 11, + "node": 3, + "rank": 0 + }, + { + "dof": 15, + "node": 5, + "rank": 0 + }, + { + "dof": 16, + "node": 5, + "rank": 0 + }, + { + "dof": 17, + "node": 5, + "rank": 0 + }, + { + "dof": 18, + "node": 6, + "rank": 0 + }, + { + "dof": 19, + "node": 6, + "rank": 0 + }, + { + "dof": 20, + "node": 6, + "rank": 0 + }, + { + "dof": 21, + "node": 7, + "rank": 1 + }, + { + "dof": 22, + "node": 7, + "rank": 1 + }, + { + "dof": 23, + "node": 7, + "rank": 1 + }, + { + "dof": 27, + "node": 9, + "rank": 1 + }, + { + "dof": 28, + "node": 9, + "rank": 1 + }, + { + "dof": 29, + "node": 9, + "rank": 1 + } + ], + "fixed_by_rank": { + "0": [ + 0, + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "1": [ + 21, + 22, + 23, + 27, + 28, + 29 + ] + }, + "loads": [ + { + "dof": 3, + "index": 0, + "node": 1, + "rank": 0, + "value": 188461.53846153844 + }, + { + "dof": 4, + "index": 1, + "node": 1, + "rank": 0, + "value": 30288.46153846153 + }, + { + "dof": 5, + "index": 2, + "node": 1, + "rank": 0, + "value": -50480.76923076921 + }, + { + "dof": 12, + "index": 3, + "node": 4, + "rank": 0, + "value": 141346.15384615381 + }, + { + "dof": 13, + "index": 4, + "node": 4, + "rank": 0, + "value": 30288.461538461528 + }, + { + "dof": 14, + "index": 5, + "node": 4, + "rank": 0, + "value": 50480.76923076922 + }, + { + "dof": 24, + "index": 6, + "node": 8, + "rank": 1, + "value": 70673.07692307691 + }, + { + "dof": 25, + "index": 7, + "node": 8, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 26, + "index": 8, + "node": 8, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 30, + "index": 9, + "node": 10, + "rank": 1, + "value": 70673.07692307692 + }, + { + "dof": 31, + "index": 10, + "node": 10, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 32, + "index": 11, + "node": 10, + "rank": 1, + "value": 30288.46153846153 + } + ], + "loads_by_rank": { + "0": [ + 3, + 4, + 5, + 12, + 13, + 14 + ], + "1": [ + 24, + 25, + 26, + 30, + 31, + 32 + ] + } + }, + "debug_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_visible_load_records": 6, + "load_relative_error": 0.0, + "local_dispatch_relative_error": 0.0, + "mandatory_global_gather": false, + "matrix_relative_error": 0.0, + "owned_element_multiplicity": 1, + "owned_fixed_matches_serial": true, + "owned_node_multiplicity": 1, + "partition_count": 2, + "preallocation": [ + { + "diag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 21, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 0, + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "owned_row_ids": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_row_pattern_complete": true, + "rank": 0, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "owned_row_ids": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_row_pattern_complete": true, + "rank": 1, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + } + ], + "rank_local_models": [ + { + "families": [ + "TET4", + "WEDGE6" + ], + "ghost_dofs": [], + "ghost_nodes": [], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "owned_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_elements": [ + 0, + 1 + ], + "owned_fixed_dofs": [ + 0, + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_load_ids": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "owned_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "rank": 0 + }, + { + "families": [ + "HEX8" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "ghost_nodes": [ + 0, + 1, + 3, + 4 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "owned_dofs": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_elements": [ + 2 + ], + "owned_fixed_dofs": [ + 21, + 22, + 23, + 27, + 28, + 29 + ], + "owned_load_ids": [ + 6, + 7, + 8, + 9, + 10, + 11 + ], + "owned_nodes": [ + 7, + 8, + 9, + 10 + ], + "rank": 1 + } + ], + "reaction_relative_error": 1.505310391980182e-16, + "sparsity_exact": true, + "status": "PASS" + }, + { + "boundary_ownership": { + "duplicate_fixed_ownership": false, + "duplicate_load_ownership": false, + "fixed": [ + { + "dof": 0, + "node": 0, + "rank": 0 + }, + { + "dof": 1, + "node": 0, + "rank": 0 + }, + { + "dof": 2, + "node": 0, + "rank": 0 + }, + { + "dof": 6, + "node": 2, + "rank": 0 + }, + { + "dof": 7, + "node": 2, + "rank": 0 + }, + { + "dof": 8, + "node": 2, + "rank": 0 + }, + { + "dof": 9, + "node": 3, + "rank": 1 + }, + { + "dof": 10, + "node": 3, + "rank": 1 + }, + { + "dof": 11, + "node": 3, + "rank": 1 + }, + { + "dof": 15, + "node": 5, + "rank": 1 + }, + { + "dof": 16, + "node": 5, + "rank": 1 + }, + { + "dof": 17, + "node": 5, + "rank": 1 + }, + { + "dof": 18, + "node": 6, + "rank": 0 + }, + { + "dof": 19, + "node": 6, + "rank": 0 + }, + { + "dof": 20, + "node": 6, + "rank": 0 + }, + { + "dof": 21, + "node": 7, + "rank": 2 + }, + { + "dof": 22, + "node": 7, + "rank": 2 + }, + { + "dof": 23, + "node": 7, + "rank": 2 + }, + { + "dof": 27, + "node": 9, + "rank": 2 + }, + { + "dof": 28, + "node": 9, + "rank": 2 + }, + { + "dof": 29, + "node": 9, + "rank": 2 + } + ], + "fixed_by_rank": { + "0": [ + 0, + 1, + 2, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "1": [ + 9, + 10, + 11, + 15, + 16, + 17 + ], + "2": [ + 21, + 22, + 23, + 27, + 28, + 29 + ] + }, + "loads": [ + { + "dof": 3, + "index": 0, + "node": 1, + "rank": 0, + "value": 188461.53846153844 + }, + { + "dof": 4, + "index": 1, + "node": 1, + "rank": 0, + "value": 30288.46153846153 + }, + { + "dof": 5, + "index": 2, + "node": 1, + "rank": 0, + "value": -50480.76923076921 + }, + { + "dof": 12, + "index": 3, + "node": 4, + "rank": 1, + "value": 141346.15384615381 + }, + { + "dof": 13, + "index": 4, + "node": 4, + "rank": 1, + "value": 30288.461538461528 + }, + { + "dof": 14, + "index": 5, + "node": 4, + "rank": 1, + "value": 50480.76923076922 + }, + { + "dof": 24, + "index": 6, + "node": 8, + "rank": 2, + "value": 70673.07692307691 + }, + { + "dof": 25, + "index": 7, + "node": 8, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 26, + "index": 8, + "node": 8, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 30, + "index": 9, + "node": 10, + "rank": 2, + "value": 70673.07692307692 + }, + { + "dof": 31, + "index": 10, + "node": 10, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 32, + "index": 11, + "node": 10, + "rank": 2, + "value": 30288.46153846153 + } + ], + "loads_by_rank": { + "0": [ + 3, + 4, + 5 + ], + "1": [ + 12, + 13, + 14 + ], + "2": [ + 24, + 25, + 26, + 30, + 31, + 32 + ] + } + }, + "debug_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_visible_load_records": 9, + "load_relative_error": 0.0, + "local_dispatch_relative_error": 0.0, + "mandatory_global_gather": false, + "matrix_relative_error": 0.0, + "owned_element_multiplicity": 1, + "owned_fixed_matches_serial": true, + "owned_node_multiplicity": 1, + "partition_count": 3, + "preallocation": [ + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 9, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 21, + "offdiag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 9, + 9, + 9, + 0, + 0, + 0 + ], + "owned_row_ids": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_row_pattern_complete": true, + "rank": 0, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_coupling_rows": 9, + "global_connectivity_required": false, + "max_diag_nnz": 9, + "max_offdiag_nnz": 21, + "offdiag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 9, + 9, + 9 + ], + "owned_row_ids": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "owned_row_pattern_complete": true, + "rank": 1, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "owned_row_ids": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_row_pattern_complete": true, + "rank": 2, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + } + ], + "rank_local_models": [ + { + "families": [ + "TET4" + ], + "ghost_dofs": [], + "ghost_nodes": [], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 6 + ], + "owned_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_elements": [ + 0 + ], + "owned_fixed_dofs": [ + 0, + 1, + 2, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_load_ids": [ + 0, + 1, + 2 + ], + "owned_nodes": [ + 0, + 1, + 2, + 6 + ], + "rank": 0 + }, + { + "families": [ + "WEDGE6" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "ghost_nodes": [ + 0, + 1, + 2 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "owned_dofs": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "owned_elements": [ + 1 + ], + "owned_fixed_dofs": [ + 9, + 10, + 11, + 15, + 16, + 17 + ], + "owned_load_ids": [ + 3, + 4, + 5 + ], + "owned_nodes": [ + 3, + 4, + 5 + ], + "rank": 1 + }, + { + "families": [ + "HEX8" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "ghost_nodes": [ + 0, + 1, + 3, + 4 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "owned_dofs": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_elements": [ + 2 + ], + "owned_fixed_dofs": [ + 21, + 22, + 23, + 27, + 28, + 29 + ], + "owned_load_ids": [ + 6, + 7, + 8, + 9, + 10, + 11 + ], + "owned_nodes": [ + 7, + 8, + 9, + 10 + ], + "rank": 2 + } + ], + "reaction_relative_error": 1.505310391980182e-16, + "sparsity_exact": true, + "status": "PASS" + } + ], + "preallocation": { + "global_connectivity_required_by_rank": false, + "sparsity_equivalence": true, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + "reaction_architecture": { + "definition": "local K*u-F contributions reduced to a unique DOF owner", + "ready": "READY_FOR_WP13_01C_RUNTIME_REDUCTION", + "relative_error": 1.505310391980182e-16 + }, + "replays": [ + { + "digest": "97d9039bb686adaef6ce899a22d70c5af2625f5bb380cd344dd5a9084dfe039e", + "id": "replay_1", + "partition_results": [ + { + "boundary_ownership": { + "duplicate_fixed_ownership": false, + "duplicate_load_ownership": false, + "fixed": [ + { + "dof": 0, + "node": 0, + "rank": 0 + }, + { + "dof": 1, + "node": 0, + "rank": 0 + }, + { + "dof": 2, + "node": 0, + "rank": 0 + }, + { + "dof": 6, + "node": 2, + "rank": 0 + }, + { + "dof": 7, + "node": 2, + "rank": 0 + }, + { + "dof": 8, + "node": 2, + "rank": 0 + }, + { + "dof": 9, + "node": 3, + "rank": 0 + }, + { + "dof": 10, + "node": 3, + "rank": 0 + }, + { + "dof": 11, + "node": 3, + "rank": 0 + }, + { + "dof": 15, + "node": 5, + "rank": 0 + }, + { + "dof": 16, + "node": 5, + "rank": 0 + }, + { + "dof": 17, + "node": 5, + "rank": 0 + }, + { + "dof": 18, + "node": 6, + "rank": 0 + }, + { + "dof": 19, + "node": 6, + "rank": 0 + }, + { + "dof": 20, + "node": 6, + "rank": 0 + }, + { + "dof": 21, + "node": 7, + "rank": 1 + }, + { + "dof": 22, + "node": 7, + "rank": 1 + }, + { + "dof": 23, + "node": 7, + "rank": 1 + }, + { + "dof": 27, + "node": 9, + "rank": 1 + }, + { + "dof": 28, + "node": 9, + "rank": 1 + }, + { + "dof": 29, + "node": 9, + "rank": 1 + } + ], + "fixed_by_rank": { + "0": [ + 0, + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "1": [ + 21, + 22, + 23, + 27, + 28, + 29 + ] + }, + "loads": [ + { + "dof": 3, + "index": 0, + "node": 1, + "rank": 0, + "value": 188461.53846153844 + }, + { + "dof": 4, + "index": 1, + "node": 1, + "rank": 0, + "value": 30288.46153846153 + }, + { + "dof": 5, + "index": 2, + "node": 1, + "rank": 0, + "value": -50480.76923076921 + }, + { + "dof": 12, + "index": 3, + "node": 4, + "rank": 0, + "value": 141346.15384615381 + }, + { + "dof": 13, + "index": 4, + "node": 4, + "rank": 0, + "value": 30288.461538461528 + }, + { + "dof": 14, + "index": 5, + "node": 4, + "rank": 0, + "value": 50480.76923076922 + }, + { + "dof": 24, + "index": 6, + "node": 8, + "rank": 1, + "value": 70673.07692307691 + }, + { + "dof": 25, + "index": 7, + "node": 8, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 26, + "index": 8, + "node": 8, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 30, + "index": 9, + "node": 10, + "rank": 1, + "value": 70673.07692307692 + }, + { + "dof": 31, + "index": 10, + "node": 10, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 32, + "index": 11, + "node": 10, + "rank": 1, + "value": 30288.46153846153 + } + ], + "loads_by_rank": { + "0": [ + 3, + 4, + 5, + 12, + 13, + 14 + ], + "1": [ + 24, + 25, + 26, + 30, + 31, + 32 + ] + } + }, + "debug_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_visible_load_records": 6, + "load_relative_error": 0.0, + "local_dispatch_relative_error": 0.0, + "mandatory_global_gather": false, + "matrix_relative_error": 0.0, + "owned_element_multiplicity": 1, + "owned_fixed_matches_serial": true, + "owned_node_multiplicity": 1, + "partition_count": 2, + "preallocation": [ + { + "diag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 21, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 0, + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "owned_row_ids": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_row_pattern_complete": true, + "rank": 0, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "owned_row_ids": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_row_pattern_complete": true, + "rank": 1, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + } + ], + "rank_local_models": [ + { + "families": [ + "TET4", + "WEDGE6" + ], + "ghost_dofs": [], + "ghost_nodes": [], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "owned_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_elements": [ + 0, + 1 + ], + "owned_fixed_dofs": [ + 0, + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_load_ids": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "owned_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "rank": 0 + }, + { + "families": [ + "HEX8" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "ghost_nodes": [ + 0, + 1, + 3, + 4 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "owned_dofs": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_elements": [ + 2 + ], + "owned_fixed_dofs": [ + 21, + 22, + 23, + 27, + 28, + 29 + ], + "owned_load_ids": [ + 6, + 7, + 8, + 9, + 10, + 11 + ], + "owned_nodes": [ + 7, + 8, + 9, + 10 + ], + "rank": 1 + } + ], + "reaction_relative_error": 1.505310391980182e-16, + "sparsity_exact": true, + "status": "PASS" + }, + { + "boundary_ownership": { + "duplicate_fixed_ownership": false, + "duplicate_load_ownership": false, + "fixed": [ + { + "dof": 0, + "node": 0, + "rank": 0 + }, + { + "dof": 1, + "node": 0, + "rank": 0 + }, + { + "dof": 2, + "node": 0, + "rank": 0 + }, + { + "dof": 6, + "node": 2, + "rank": 0 + }, + { + "dof": 7, + "node": 2, + "rank": 0 + }, + { + "dof": 8, + "node": 2, + "rank": 0 + }, + { + "dof": 9, + "node": 3, + "rank": 1 + }, + { + "dof": 10, + "node": 3, + "rank": 1 + }, + { + "dof": 11, + "node": 3, + "rank": 1 + }, + { + "dof": 15, + "node": 5, + "rank": 1 + }, + { + "dof": 16, + "node": 5, + "rank": 1 + }, + { + "dof": 17, + "node": 5, + "rank": 1 + }, + { + "dof": 18, + "node": 6, + "rank": 0 + }, + { + "dof": 19, + "node": 6, + "rank": 0 + }, + { + "dof": 20, + "node": 6, + "rank": 0 + }, + { + "dof": 21, + "node": 7, + "rank": 2 + }, + { + "dof": 22, + "node": 7, + "rank": 2 + }, + { + "dof": 23, + "node": 7, + "rank": 2 + }, + { + "dof": 27, + "node": 9, + "rank": 2 + }, + { + "dof": 28, + "node": 9, + "rank": 2 + }, + { + "dof": 29, + "node": 9, + "rank": 2 + } + ], + "fixed_by_rank": { + "0": [ + 0, + 1, + 2, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "1": [ + 9, + 10, + 11, + 15, + 16, + 17 + ], + "2": [ + 21, + 22, + 23, + 27, + 28, + 29 + ] + }, + "loads": [ + { + "dof": 3, + "index": 0, + "node": 1, + "rank": 0, + "value": 188461.53846153844 + }, + { + "dof": 4, + "index": 1, + "node": 1, + "rank": 0, + "value": 30288.46153846153 + }, + { + "dof": 5, + "index": 2, + "node": 1, + "rank": 0, + "value": -50480.76923076921 + }, + { + "dof": 12, + "index": 3, + "node": 4, + "rank": 1, + "value": 141346.15384615381 + }, + { + "dof": 13, + "index": 4, + "node": 4, + "rank": 1, + "value": 30288.461538461528 + }, + { + "dof": 14, + "index": 5, + "node": 4, + "rank": 1, + "value": 50480.76923076922 + }, + { + "dof": 24, + "index": 6, + "node": 8, + "rank": 2, + "value": 70673.07692307691 + }, + { + "dof": 25, + "index": 7, + "node": 8, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 26, + "index": 8, + "node": 8, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 30, + "index": 9, + "node": 10, + "rank": 2, + "value": 70673.07692307692 + }, + { + "dof": 31, + "index": 10, + "node": 10, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 32, + "index": 11, + "node": 10, + "rank": 2, + "value": 30288.46153846153 + } + ], + "loads_by_rank": { + "0": [ + 3, + 4, + 5 + ], + "1": [ + 12, + 13, + 14 + ], + "2": [ + 24, + 25, + 26, + 30, + 31, + 32 + ] + } + }, + "debug_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_visible_load_records": 9, + "load_relative_error": 0.0, + "local_dispatch_relative_error": 0.0, + "mandatory_global_gather": false, + "matrix_relative_error": 0.0, + "owned_element_multiplicity": 1, + "owned_fixed_matches_serial": true, + "owned_node_multiplicity": 1, + "partition_count": 3, + "preallocation": [ + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 9, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 21, + "offdiag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 9, + 9, + 9, + 0, + 0, + 0 + ], + "owned_row_ids": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_row_pattern_complete": true, + "rank": 0, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_coupling_rows": 9, + "global_connectivity_required": false, + "max_diag_nnz": 9, + "max_offdiag_nnz": 21, + "offdiag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 9, + 9, + 9 + ], + "owned_row_ids": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "owned_row_pattern_complete": true, + "rank": 1, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "owned_row_ids": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_row_pattern_complete": true, + "rank": 2, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + } + ], + "rank_local_models": [ + { + "families": [ + "TET4" + ], + "ghost_dofs": [], + "ghost_nodes": [], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 6 + ], + "owned_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_elements": [ + 0 + ], + "owned_fixed_dofs": [ + 0, + 1, + 2, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_load_ids": [ + 0, + 1, + 2 + ], + "owned_nodes": [ + 0, + 1, + 2, + 6 + ], + "rank": 0 + }, + { + "families": [ + "WEDGE6" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "ghost_nodes": [ + 0, + 1, + 2 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "owned_dofs": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "owned_elements": [ + 1 + ], + "owned_fixed_dofs": [ + 9, + 10, + 11, + 15, + 16, + 17 + ], + "owned_load_ids": [ + 3, + 4, + 5 + ], + "owned_nodes": [ + 3, + 4, + 5 + ], + "rank": 1 + }, + { + "families": [ + "HEX8" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "ghost_nodes": [ + 0, + 1, + 3, + 4 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "owned_dofs": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_elements": [ + 2 + ], + "owned_fixed_dofs": [ + 21, + 22, + 23, + 27, + 28, + 29 + ], + "owned_load_ids": [ + 6, + 7, + 8, + 9, + 10, + 11 + ], + "owned_nodes": [ + 7, + 8, + 9, + 10 + ], + "rank": 2 + } + ], + "reaction_relative_error": 1.505310391980182e-16, + "sparsity_exact": true, + "status": "PASS" + } + ] + }, + { + "digest": "97d9039bb686adaef6ce899a22d70c5af2625f5bb380cd344dd5a9084dfe039e", + "id": "replay_2", + "partition_results": [ + { + "boundary_ownership": { + "duplicate_fixed_ownership": false, + "duplicate_load_ownership": false, + "fixed": [ + { + "dof": 0, + "node": 0, + "rank": 0 + }, + { + "dof": 1, + "node": 0, + "rank": 0 + }, + { + "dof": 2, + "node": 0, + "rank": 0 + }, + { + "dof": 6, + "node": 2, + "rank": 0 + }, + { + "dof": 7, + "node": 2, + "rank": 0 + }, + { + "dof": 8, + "node": 2, + "rank": 0 + }, + { + "dof": 9, + "node": 3, + "rank": 0 + }, + { + "dof": 10, + "node": 3, + "rank": 0 + }, + { + "dof": 11, + "node": 3, + "rank": 0 + }, + { + "dof": 15, + "node": 5, + "rank": 0 + }, + { + "dof": 16, + "node": 5, + "rank": 0 + }, + { + "dof": 17, + "node": 5, + "rank": 0 + }, + { + "dof": 18, + "node": 6, + "rank": 0 + }, + { + "dof": 19, + "node": 6, + "rank": 0 + }, + { + "dof": 20, + "node": 6, + "rank": 0 + }, + { + "dof": 21, + "node": 7, + "rank": 1 + }, + { + "dof": 22, + "node": 7, + "rank": 1 + }, + { + "dof": 23, + "node": 7, + "rank": 1 + }, + { + "dof": 27, + "node": 9, + "rank": 1 + }, + { + "dof": 28, + "node": 9, + "rank": 1 + }, + { + "dof": 29, + "node": 9, + "rank": 1 + } + ], + "fixed_by_rank": { + "0": [ + 0, + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "1": [ + 21, + 22, + 23, + 27, + 28, + 29 + ] + }, + "loads": [ + { + "dof": 3, + "index": 0, + "node": 1, + "rank": 0, + "value": 188461.53846153844 + }, + { + "dof": 4, + "index": 1, + "node": 1, + "rank": 0, + "value": 30288.46153846153 + }, + { + "dof": 5, + "index": 2, + "node": 1, + "rank": 0, + "value": -50480.76923076921 + }, + { + "dof": 12, + "index": 3, + "node": 4, + "rank": 0, + "value": 141346.15384615381 + }, + { + "dof": 13, + "index": 4, + "node": 4, + "rank": 0, + "value": 30288.461538461528 + }, + { + "dof": 14, + "index": 5, + "node": 4, + "rank": 0, + "value": 50480.76923076922 + }, + { + "dof": 24, + "index": 6, + "node": 8, + "rank": 1, + "value": 70673.07692307691 + }, + { + "dof": 25, + "index": 7, + "node": 8, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 26, + "index": 8, + "node": 8, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 30, + "index": 9, + "node": 10, + "rank": 1, + "value": 70673.07692307692 + }, + { + "dof": 31, + "index": 10, + "node": 10, + "rank": 1, + "value": -30288.46153846153 + }, + { + "dof": 32, + "index": 11, + "node": 10, + "rank": 1, + "value": 30288.46153846153 + } + ], + "loads_by_rank": { + "0": [ + 3, + 4, + 5, + 12, + 13, + 14 + ], + "1": [ + 24, + 25, + 26, + 30, + 31, + 32 + ] + } + }, + "debug_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_visible_load_records": 6, + "load_relative_error": 0.0, + "local_dispatch_relative_error": 0.0, + "mandatory_global_gather": false, + "matrix_relative_error": 0.0, + "owned_element_multiplicity": 1, + "owned_fixed_matches_serial": true, + "owned_node_multiplicity": 1, + "partition_count": 2, + "preallocation": [ + { + "diag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 21, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 0, + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "owned_row_ids": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_row_pattern_complete": true, + "rank": 0, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "owned_row_ids": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_row_pattern_complete": true, + "rank": 1, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + } + ], + "rank_local_models": [ + { + "families": [ + "TET4", + "WEDGE6" + ], + "ghost_dofs": [], + "ghost_nodes": [], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "owned_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_elements": [ + 0, + 1 + ], + "owned_fixed_dofs": [ + 0, + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "owned_load_ids": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "owned_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "rank": 0 + }, + { + "families": [ + "HEX8" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "ghost_nodes": [ + 0, + 1, + 3, + 4 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "owned_dofs": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_elements": [ + 2 + ], + "owned_fixed_dofs": [ + 21, + 22, + 23, + 27, + 28, + 29 + ], + "owned_load_ids": [ + 6, + 7, + 8, + 9, + 10, + 11 + ], + "owned_nodes": [ + 7, + 8, + 9, + 10 + ], + "rank": 1 + } + ], + "reaction_relative_error": 1.505310391980182e-16, + "sparsity_exact": true, + "status": "PASS" + }, + { + "boundary_ownership": { + "duplicate_fixed_ownership": false, + "duplicate_load_ownership": false, + "fixed": [ + { + "dof": 0, + "node": 0, + "rank": 0 + }, + { + "dof": 1, + "node": 0, + "rank": 0 + }, + { + "dof": 2, + "node": 0, + "rank": 0 + }, + { + "dof": 6, + "node": 2, + "rank": 0 + }, + { + "dof": 7, + "node": 2, + "rank": 0 + }, + { + "dof": 8, + "node": 2, + "rank": 0 + }, + { + "dof": 9, + "node": 3, + "rank": 1 + }, + { + "dof": 10, + "node": 3, + "rank": 1 + }, + { + "dof": 11, + "node": 3, + "rank": 1 + }, + { + "dof": 15, + "node": 5, + "rank": 1 + }, + { + "dof": 16, + "node": 5, + "rank": 1 + }, + { + "dof": 17, + "node": 5, + "rank": 1 + }, + { + "dof": 18, + "node": 6, + "rank": 0 + }, + { + "dof": 19, + "node": 6, + "rank": 0 + }, + { + "dof": 20, + "node": 6, + "rank": 0 + }, + { + "dof": 21, + "node": 7, + "rank": 2 + }, + { + "dof": 22, + "node": 7, + "rank": 2 + }, + { + "dof": 23, + "node": 7, + "rank": 2 + }, + { + "dof": 27, + "node": 9, + "rank": 2 + }, + { + "dof": 28, + "node": 9, + "rank": 2 + }, + { + "dof": 29, + "node": 9, + "rank": 2 + } + ], + "fixed_by_rank": { + "0": [ + 0, + 1, + 2, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "1": [ + 9, + 10, + 11, + 15, + 16, + 17 + ], + "2": [ + 21, + 22, + 23, + 27, + 28, + 29 + ] + }, + "loads": [ + { + "dof": 3, + "index": 0, + "node": 1, + "rank": 0, + "value": 188461.53846153844 + }, + { + "dof": 4, + "index": 1, + "node": 1, + "rank": 0, + "value": 30288.46153846153 + }, + { + "dof": 5, + "index": 2, + "node": 1, + "rank": 0, + "value": -50480.76923076921 + }, + { + "dof": 12, + "index": 3, + "node": 4, + "rank": 1, + "value": 141346.15384615381 + }, + { + "dof": 13, + "index": 4, + "node": 4, + "rank": 1, + "value": 30288.461538461528 + }, + { + "dof": 14, + "index": 5, + "node": 4, + "rank": 1, + "value": 50480.76923076922 + }, + { + "dof": 24, + "index": 6, + "node": 8, + "rank": 2, + "value": 70673.07692307691 + }, + { + "dof": 25, + "index": 7, + "node": 8, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 26, + "index": 8, + "node": 8, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 30, + "index": 9, + "node": 10, + "rank": 2, + "value": 70673.07692307692 + }, + { + "dof": 31, + "index": 10, + "node": 10, + "rank": 2, + "value": -30288.46153846153 + }, + { + "dof": 32, + "index": 11, + "node": 10, + "rank": 2, + "value": 30288.46153846153 + } + ], + "loads_by_rank": { + "0": [ + 3, + 4, + 5 + ], + "1": [ + 12, + 13, + 14 + ], + "2": [ + 24, + 25, + 26, + 30, + 31, + 32 + ] + } + }, + "debug_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_visible_load_records": 9, + "load_relative_error": 0.0, + "local_dispatch_relative_error": 0.0, + "mandatory_global_gather": false, + "matrix_relative_error": 0.0, + "owned_element_multiplicity": 1, + "owned_fixed_matches_serial": true, + "owned_node_multiplicity": 1, + "partition_count": 3, + "preallocation": [ + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 9, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 21, + "offdiag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 9, + 9, + 9, + 0, + 0, + 0 + ], + "owned_row_ids": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_row_pattern_complete": true, + "rank": 0, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9 + ], + "family_element_counts": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_coupling_rows": 9, + "global_connectivity_required": false, + "max_diag_nnz": 9, + "max_offdiag_nnz": 21, + "offdiag_nnz_per_owned_row": [ + 21, + 21, + 21, + 21, + 21, + 21, + 9, + 9, + 9 + ], + "owned_row_ids": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "owned_row_pattern_complete": true, + "rank": 1, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + }, + { + "diag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "family_element_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_coupling_rows": 12, + "global_connectivity_required": false, + "max_diag_nnz": 12, + "max_offdiag_nnz": 12, + "offdiag_nnz_per_owned_row": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12 + ], + "owned_row_ids": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_row_pattern_complete": true, + "rank": 2, + "reallocations_expected": 0, + "strategy": "connectivity_exact_family_aware_row_owner_exchange" + } + ], + "rank_local_models": [ + { + "families": [ + "TET4" + ], + "ghost_dofs": [], + "ghost_nodes": [], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 6 + ], + "owned_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_elements": [ + 0 + ], + "owned_fixed_dofs": [ + 0, + 1, + 2, + 6, + 7, + 8, + 18, + 19, + 20 + ], + "owned_load_ids": [ + 0, + 1, + 2 + ], + "owned_nodes": [ + 0, + 1, + 2, + 6 + ], + "rank": 0 + }, + { + "families": [ + "WEDGE6" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "ghost_nodes": [ + 0, + 1, + 2 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "owned_dofs": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ], + "owned_elements": [ + 1 + ], + "owned_fixed_dofs": [ + 9, + 10, + 11, + 15, + 16, + 17 + ], + "owned_load_ids": [ + 3, + 4, + 5 + ], + "owned_nodes": [ + 3, + 4, + 5 + ], + "rank": 1 + }, + { + "families": [ + "HEX8" + ], + "ghost_dofs": [ + 0, + 1, + 2, + 3, + 4, + 5, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "ghost_nodes": [ + 0, + 1, + 3, + 4 + ], + "global_model_retained": false, + "local_nodes": [ + 0, + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "owned_dofs": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ], + "owned_elements": [ + 2 + ], + "owned_fixed_dofs": [ + 21, + 22, + 23, + 27, + 28, + 29 + ], + "owned_load_ids": [ + 6, + 7, + 8, + 9, + 10, + 11 + ], + "owned_nodes": [ + 7, + 8, + 9, + 10 + ], + "rank": 2 + } + ], + "reaction_relative_error": 1.505310391980182e-16, + "sparsity_exact": true, + "status": "PASS" + } + ] + } + ], + "repo_sha": "1adf6a72652189c60c6bde5d9be4a0f0f98d8668", + "schema_missing_fields": [], + "schema_version": 1, + "serial_equivalence": { + "debug_global_recomposition_only": true, + "displacement_relative_error": 3.9806342641912074e-22, + "load_relative_error": 0.0, + "matrix_relative_error": 0.0, + "reaction_relative_error": 1.505310391980182e-16 + }, + "start_sha": "c9ccd4891fea2f83e0c5302fa85bc3cbcf88e6e0", + "status": "PASS_ARCHITECTURE_FOUNDATION" +} diff --git a/qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure.json b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure.json new file mode 100644 index 00000000..3d0257a4 --- /dev/null +++ b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure.json @@ -0,0 +1,18 @@ +{ + "record_id": "QF-028-WP13-01B-PREVALIDATION-FAILURE-001", + "status": "PREVALIDATION_FAILURE_NOT_A_QUALIFICATION_CAMPAIGN", + "source_sha": "0a436329fa098077738222619ed4d7cdd8705150", + "scope": "Runner evidence-schema prevalidation only; no final manifest was written and no qualification decision was made.", + "raw_array_path": "qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure_arrays.npz", + "raw_array_sha256": "2164b51f1608941a6c9d6b23eabb718e7b5730a7ef59358cff922c4c5c63b665", + "finding": { + "case_id": "invalid_element_owner", + "expected_message_pattern": "element-owner maps disagree", + "observed_exception": "InputValidationError", + "observed_message": "Distributed partition has an element with an invalid owner.", + "resolution": "The frozen failure contract still requires InputValidationError. The runner pattern was narrowed to the actually emitted explicit invalid-owner rejection before the final campaign." + }, + "final_evidence_written": false, + "historical_0_2_7_evidence_changed": false, + "numerical_source_changed": false +} diff --git a/qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure_arrays.npz b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure_arrays.npz new file mode 100644 index 00000000..5e985cf5 Binary files /dev/null and b/qualification/0_2_8/wp13_01b_distributed_mixed_arch_prevalidation_failure_arrays.npz differ diff --git a/qualification/0_2_8/wp13_01c2_owner_gate.json b/qualification/0_2_8/wp13_01c2_owner_gate.json new file mode 100644 index 00000000..386b6838 --- /dev/null +++ b/qualification/0_2_8/wp13_01c2_owner_gate.json @@ -0,0 +1,111 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01C2-OWNER-GATE", + "work_package": "WP13-01C2", + "audited_commit": "d8da13c78d34e8b06a996561d510f0d8efc44d9a", + "status": "REQUIRE_CONNECTED_CONFIRMATION", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "contract_audit": { + "contract_id": "WP13-01F-MIXED-PETSC-RUNTIME-002", + "contract_path": "qualification/0_2_8/wp13_01f_mixed_petsc_runtime_contract.json", + "contract_git_blob_sha1": "bb14d280e7052daa2aa42e051ae53d794cba3f67", + "valid": true, + "unchanged": true, + "gates_passed": "YES within the frozen disconnected-bundle scope" + }, + "campaign_audit": { + "execution_record": "qualification/0_2_8/wp13_01c2_runtime_execution.json", + "execution_git_blob_sha1": "a404d1d3ff529e627ecb809cb4df720fb32371a8", + "small_66_dof": "PASS at serial, PETSc-1, MPI-2 and MPI-4", + "stage_a_100023_dof": "PASS at PETSc-1, MPI-2 and MPI-4", + "stage_b_300003_dof": "PASS at MPI-2 and MPI-4", + "stage_c_999999_dof": "PASS at MPI-2", + "partition_invariance": "PASS", + "replay": "PASS numerical determinism; two Stage-C MPI-2 replays", + "one_m_run_valid": true, + "structural_global_gather": "NOT_PRESENT", + "reallocations": 0, + "family_counts_at_1m": { + "TET4": 30303, + "WEDGE6": 30303, + "HEX8": 30303 + } + }, + "benchmark_audit": { + "connected": false, + "topology": "Mechanically disconnected, repeated unit-scale TET4/WEDGE6/HEX8 component bundle; global stiffness is block diagonal.", + "cross_rank_interfaces_real": true, + "cross_rank_interface_evidence": "Family-major ordering produces measured TET4/WEDGE6 and WEDGE6/HEX8 shared-node interface fractions at MPI-2 and MPI-4; ghost synchronization is exercised.", + "bc_load_reaction_evidence": "PASS for the frozen component bundle; each component has fixed nodes and applied loads with reaction reconstruction and equilibrium checks.", + "representativeness": "Valid for distributed mixed runtime plumbing and the frozen synthetic bundle; insufficient for connected mixed scalability or general solver difficulty.", + "solver_difficulty_representative": false, + "preallocation_representativeness": "Exact preallocation and zero reallocations are valid for this repeated topology but do not establish arbitrary connected sparsity behavior.", + "performance_interpretation": "The direct solve reports one iteration and therefore does not exercise distributed Krylov/preconditioner convergence or long-range connected coupling." + }, + "decision": { + "owner_decision": "REQUIRE_CONNECTED_CONFIRMATION", + "allowed_runtime_plumbing_claim": "BOUNDED_MIXED_PETSC_MPI_1M_RUNTIME_PLUMBING_ONLY", + "claim_exact_text": "Bounded synthetic PETSc/MPI mixed runtime-plumbing evidence for the frozen unit-scale disconnected TET4/WEDGE6/HEX8 component bundle: linear static, 999999 DOF, MPI-2, qf-solver-large:0.2.0, PETSc 3.25.1, MPICH 5.0.1. This is not evidence for arbitrary connected mixed models, general 1M scalability, industrial models, or production use.", + "full_bounded_mixed_1m_claim": "NOT_CLOSED", + "connected_confirmation_required": true, + "connected_confirmation_scope": "A separately predeclared connected mixed TET4/WEDGE6/HEX8 benchmark at small or intermediate scale, with real cross-rank connected coupling and gates for distributed assembly, BC/load/reaction handling, equilibrium, residual, energy, partition invariance and replay.", + "limitations": [ + "Mechanically disconnected block-diagonal component bundle.", + "MPI-2 only at 999999 DOF.", + "Direct solve with one iteration; no distributed Krylov/preconditioner evidence.", + "One frozen environment and one observed Stage-C timing; no general performance claim.", + "No connected long-range coupling evidence and no arbitrary connected-model claim.", + "Root/result solution exchange remains allowed for post-processing only; no structural K/connectivity/element-field gather." + ] + }, + "observed_1m_evidence": { + "scalability": "Real capacity evidence for the frozen synthetic bundle, not general mixed-model scalability.", + "memory": "2139.22 MB/rank peak on MPI-2.", + "performance": "115.62 s for one Stage-C MPI-2 run; informative observation only." + }, + "historical_integrity": { + "wp13_01c_contract": { + "path": "qualification/0_2_8/wp13_01c_runtime_contract.json", + "git_blob_sha1": "e65b7bcb48a882e99ebb31615e8aa10d110cb655", + "preserved": true + }, + "wp13_01c_execution": { + "path": "qualification/0_2_8/wp13_01c_runtime_execution.json", + "git_blob_sha1": "bbd925c5ddb372b8f8c967c4d9aea8bc767da0af", + "preserved": true + }, + "wp13_01d_diagnosis": { + "path": "qualification/0_2_8/wp13_01d_runtime_diagnosis.json", + "git_blob_sha1": "2bfd940741dbf92ab408ba4e17806ede149e834a", + "preserved": true + }, + "wp13_01c_fail_runtime_preserved": true, + "historical_stage_a_equilibrium_fail_preserved": true, + "historical_raw_bitwise_replay_fail_preserved": true, + "historical_0_2_7_evidence_changed": false + }, + "integrity": { + "gates_changed": false, + "numerical_source_changed": false, + "formulation_changed": false, + "benchmark_changed_after_results": false, + "maturity_changed": false, + "claims_bounded": true, + "evidence_integrity": "PASS" + }, + "validation": { + "targeted_checks": [ + "JSON parse", + "execution/contract coherence", + "campaign and historical blob hash checks", + "no modification under qualification/0_2_7", + "no modification under src/" + ], + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + }, + "next_step": "Predeclare and execute a connected mixed confirmation campaign before closing the general WP13-01 runtime claim; do not modify WP13-01C/C2 records or their frozen gates." +} diff --git a/qualification/0_2_8/wp13_01c2_runtime_execution.json b/qualification/0_2_8/wp13_01c2_runtime_execution.json new file mode 100644 index 00000000..a404d1d3 --- /dev/null +++ b/qualification/0_2_8/wp13_01c2_runtime_execution.json @@ -0,0 +1,98 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01C2-RUNTIME-EXECUTION", + "contract_id": "WP13-01F-MIXED-PETSC-RUNTIME-002", + "contract_path": "qualification/0_2_8/wp13_01f_mixed_petsc_runtime_contract.json", + "contract_git_blob_sha1": "bb14d280e7052daa2aa42e051ae53d794cba3f67", + "status": "PASS_1M", + "source": { + "start_sha": "f7f476c38000f575d56a83af4810bb1e5bd6cb4d", + "numerical_source_changed": false, + "formulation_changed": false, + "gates_changed": false, + "benchmark_changed_after_results": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false + }, + "historical_record_integrity": { + "wp13_01c_contract": {"git_blob_sha1": "e65b7bcb48a882e99ebb31615e8aa10d110cb655", "status": "PRESERVED"}, + "wp13_01c_execution": {"git_blob_sha1": "bbd925c5ddb372b8f8c967c4d9aea8bc767da0af", "status": "PRESERVED_FAIL_RUNTIME"}, + "wp13_01d_diagnosis": {"git_blob_sha1": "2bfd940741dbf92ab408ba4e17806ede149e834a", "status": "PRESERVED_FAIL_KEEP_STAGE_A_BLOCKED"} + }, + "environment": { + "container_image": "qf-solver-large:0.2.0", + "petsc4py": "3.25.1", + "petsc": "3.25.1", + "mpi4py": "4.1.2", + "mpi": "MPICH 5.0.1", + "launcher": "mpiexec", + "available_ranks": [1, 2, 4] + }, + "benchmark": { + "id": "WP13-01F-FAMILY-MAJOR-MIXED-BUNDLE-001", + "geometry": "Frozen unit-scale WP11 11-node component template, translated by (0, 3*c, 0), with family-major element ordering.", + "limitation": "Components are mechanically disconnected. This evidence is limited to family-balanced distributed mixed runtime plumbing and does not claim arbitrary connected-structure scalability." + }, + "control_66_dof": { + "status": "PASS", + "dof": 66, + "element_counts": {"TET4": 2, "WEDGE6": 2, "HEX8": 2}, + "serial": {"residual": 2.342840229615247e-16, "e_force": 2.257274553331845e-16, "e_component": 2.220446049250313e-16, "energy": 0.0}, + "petsc_1": {"status": "PASS", "residual": 2.516485326479827e-16, "e_force": 4.570198053353878e-16, "e_component": 4.440892098500626e-16, "energy": 6.462348535570529e-27}, + "mpi_2": {"status": "PASS", "residual": 3.3648269882070403e-16, "e_force": 2.869591298159143e-16, "e_component": 2.220446049250313e-16, "energy": 0.0, "interface_fractions": {"tet4_wedge6": 0.5, "wedge6_hex8": 0.5}}, + "mpi_4": {"status": "PASS", "residual": 4.0549509121820484e-16, "e_force": 2.2301825219878386e-16, "e_component": 2.220446049250313e-16, "energy": 0.0, "interface_fractions": {"tet4_wedge6": 1.0, "wedge6_hex8": 1.0}} + }, + "stage_a": { + "status": "PASS", + "dof": 100023, + "element_counts": {"TET4": 3031, "WEDGE6": 3031, "HEX8": 3031}, + "mpi_1": {"runtime_seconds": 13.310164781000367, "peak_memory_mb": 443.89453125, "iterations": 1, "residual": 3.375211745997624e-16, "e_force": 8.434168075031064e-18, "e_component": 8.415497852445718e-18, "energy": 0.0}, + "mpi_2": {"runtime_seconds": 11.225906949000091, "peak_memory_mb": 318.265625, "iterations": 1, "residual": 3.383767818577061e-16, "e_force": 7.941175105970032e-18, "e_component": 6.97781214751212e-18, "energy": 6.617444900424222e-24, "interface_fractions": {"tet4_wedge6": 0.4998350379412735, "wedge6_hex8": 0.5001649620587265}}, + "mpi_4": {"runtime_seconds": 7.607863238999926, "peak_memory_mb": 289.37890625, "iterations": 1, "residual": 3.3762320974039417e-16, "e_force": 3.417041144660242e-18, "e_component": 3.2370821445479447e-18, "energy": 6.617444900424222e-24, "interface_fractions": {"tet4_wedge6": 1.0, "wedge6_hex8": 1.0}}, + "partition_invariance": {"status": "PASS", "mpi_1_vs_2_displacement_relative_l2": 4.786218850041688e-25, "mpi_1_vs_2_reaction_relative_l2": 2.7667641506871254e-16, "mpi_1_vs_4_displacement_relative_l2": 4.731546955612591e-25, "mpi_1_vs_4_reaction_relative_l2": 2.719372654217257e-16}, + "replays_mpi_2": {"status": "PASS", "count": 2, "displacement_relative_l2": 0.0, "reaction_relative_l2": 0.0, "residual_relative_difference": 0.0, "energy_relative_difference": 0.0, "iteration_difference": 0, "normalized_digest_equal": true} + }, + "stage_b": { + "status": "PASS", + "dof": 300003, + "element_counts": {"TET4": 9091, "WEDGE6": 9091, "HEX8": 9091}, + "mpi_2": {"runtime_seconds": 35.48307463299989, "peak_memory_mb": 714.33203125, "iterations": 1, "residual": 3.391033796298334e-16, "e_force": 8.79570260432612e-18, "e_component": 8.389871498377324e-18, "energy": 2.6469779601696886e-23, "interface_fractions": {"tet4_wedge6": 0.4999450005499945, "wedge6_hex8": 0.5000549994500055}}, + "mpi_4": {"runtime_seconds": 23.550321154999438, "peak_memory_mb": 592.0, "iterations": 1, "residual": 3.3828329335099583e-16, "e_force": 7.292491634029464e-18, "e_component": 7.25259816026031e-18, "energy": 2.6469779601696886e-23, "interface_fractions": {"tet4_wedge6": 1.0, "wedge6_hex8": 1.0}} + }, + "stage_c": { + "status": "PASS", + "dof": 999999, + "element_counts": {"TET4": 30303, "WEDGE6": 30303, "HEX8": 30303}, + "mpi_2": {"runtime_seconds": 115.62411920500017, "peak_memory_mb": 2139.21875, "iterations": 1, "residual": 3.3831847896991334e-16, "e_force": 8.555338740801543e-18, "e_component": 8.08289660805931e-18, "energy": 1.0587911840678754e-22, "interface_fractions": {"tet4_wedge6": 0.4999834999835, "wedge6_hex8": 0.5000165000165}, "reallocations": 0.0, "global_gather_present": false}, + "replays_mpi_2": { + "status": "PASS", + "count": 2, + "replay_1": {"runtime_seconds": 117.51558132800074, "peak_memory_mb": 2139.30078125}, + "replay_2": {"runtime_seconds": 114.9215187740001, "peak_memory_mb": 2138.953125}, + "displacement_relative_l2": 0.0, + "reaction_relative_l2": 0.0, + "residual_relative_difference": 0.0, + "energy_relative_difference": 0.0, + "iteration_difference": 0, + "normalized_digest_equal": true, + "raw_bitwise_digest_equal": true, + "raw_digest_policy": "DIAGNOSTIC_ONLY" + } + }, + "runtime_characteristics": { + "preallocation": "PETSc.Mat.InfoType.LOCAL per rank with mpi4py scalar aggregation; mallocs_sum = 0.0 on all recorded stages.", + "structural_global_gather": "NOT_PRESENT", + "accepted_result_exchange": "Root-only result gathering and reaction post-processing are retained; no global K, connectivity or element-field gather is used.", + "memory_scalability": "Observed max RSS/rank: 318.27 MB at 100023 DOF MPI-2, 714.33 MB at 300003 DOF MPI-2, and 2139.22 MB at 999999 DOF MPI-2." + }, + "claim": { + "id": "BOUNDED_MIXED_PETSC_MPI_1M", + "text": "Bounded PETSc/MPI runtime evidence at 999999 DOF on two MPI ranks for the frozen unit-scale, family-balanced TET4/WEDGE6/HEX8 component bundle.", + "limitations": ["No arbitrary connected-structure claim.", "No MPI-4 claim at 999999 DOF.", "No dynamic, nonlinear, contact, multi-material, external-correlation or production claim."] + }, + "validation": { + "targeted_numerical_runs": "control serial/PETSc-1/MPI-2/MPI-4; Stage A PETSc-1/MPI-2/MPI-4 plus two MPI-2 replays; Stage B MPI-2/MPI-4; Stage C MPI-2 plus two MPI-2 replays", + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + }, + "decision": {"wp13_01c2_status": "PASS_1M", "wp13_01_final_status": "RUNTIME_1M_EVIDENCE_PASS_PENDING_OWNER_GATE", "ready_for_wp13_02": false, "next_step": "Owner gate for the bounded WP13-01C2 evidence; do not start WP13-02 automatically."} +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/evidence.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/evidence.json new file mode 100644 index 00000000..400a9a6f --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/evidence.json @@ -0,0 +1,1055 @@ +{ + "claim_candidate": "Experimental bounded PETSc/MPI mixed static runtime for documented TET4/WEDGE6/HEX8 distributed workflows.", + "contract_commit_sha": "bdbb1a4e5d8fabeb578a82a591f0ab13f260ce0c", + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "contract_sha256": "43ee8f4c331b3aafb8ce10da1e0f60210ad672eb14af88b42ab959fb7b5003a1", + "digests": { + "manifest": "9557767e63546d3a06763d6685187af38a2b3864722c3c204b5702eed11a2bab", + "raw_npz": "846cfc293e0ac72eeb5cfe5cca700223e7e76ea1a302ef468103f02166c50850", + "semantic": "67e27ad6ae9ebe2320faf88b62b20c908c41c96bf10318166a21e3db9339cac9" + }, + "environment": { + "container_image": "qf-solver-wp13-01c-petsc:2026-09", + "index": "int32", + "launcher": "mpiexec", + "mpi": "MPICH 5.0.1", + "mpi4py": "4.1.2", + "petsc": "3.25.5", + "petsc4py": "3.25.5", + "python": "3.12.14", + "scalar": "float64", + "strategy": "Dedicated Docker Linux + conda-forge" + }, + "evidence_builder_sha": "UNAVAILABLE", + "failure_cases": { + "cases": [ + { + "actual_input": { + "family": "PYRAMID5", + "nodes": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "actual_input_digest": "1b50e677c191f9fcd1d7fdade5b98835252554f337dcce7aec8cf36b8eaf9163", + "case_id": "unsupported_family", + "execution_path": "RankLocalElement.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "Unsupported rank-local element family", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Unsupported rank-local element family 'PYRAMID5'.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "rank_count": 0, + "segments": 1 + }, + "actual_input_digest": "0503aaee999b89e32413143db51abf85c326907b9159489ad8f9d8b1a1d31e12", + "case_id": "invalid_partition", + "execution_path": "_rank_local_model", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "Invalid MPI rank/size", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "_rank_local_model", + "observed_message": "Invalid MPI rank/size for rank-local model.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "element_owner": { + "0": 1 + }, + "rank": 0 + }, + "actual_input_digest": "77f188e77cf2cfedd89d0c9db65389660369424b876b6ccc8c3eabb91b2c7c7c", + "case_id": "invalid_owner", + "execution_path": "RankLocalModel.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "does not belong to this rank", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Rank-local element does not belong to this rank.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "requested_node": 9999 + }, + "actual_input_digest": "3606a6d0f710bd35632a2f373d4566125d4744169760bc65a3540771abda969d", + "case_id": "missing_ghost", + "execution_path": "RankLocalModel.coordinates_for", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "missing node coordinate", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "coordinates_for", + "observed_message": "Rank-local element requested a missing node coordinate.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "family": "TET4", + "nodes": [ + 0, + 1, + 2 + ] + }, + "actual_input_digest": "f789a0e44c716216e220b9e2cf7347848e5dedd300d0488ed24fb857156efd6e", + "case_id": "malformed_connectivity", + "execution_path": "RankLocalElement.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "invalid connectivity", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "TET4 rank-local element 0 has invalid connectivity.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "local_nodes": [ + 0 + ], + "node_global_to_local": { + "0": 1 + } + }, + "actual_input_digest": "58adb5682925681900c3b1ec918d061711bd96c57e39c6251895f46fcaa702aa", + "case_id": "bad_dof_map", + "execution_path": "RankLocalDofMap.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "node local/global mapping is invalid", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Rank-local node local/global mapping is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "element_material": "solid", + "materials": {} + }, + "actual_input_digest": "547aa499ea24e298d25b1ead3e8be0e37374fbfb1483a2d06dad79ac78e59a89", + "case_id": "missing_material", + "execution_path": "RankLocalModel.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "unknown material", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Rank-local element references unknown material 'solid'.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "mpi_initialized": true, + "petsc_initialized": false + }, + "actual_input_digest": "777e80430e80d29ed16976479d2da986d7e4b8c3f7feecfa6a664d09743a5d29", + "case_id": "petsc_initialization_failure_path", + "execution_path": "_require_petsc_mpi", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "PETSc MPI initialization failed", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "_require_petsc_mpi", + "observed_message": "PETSc MPI initialization failed: PETSc is not initialized.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "ksp": "gmres", + "pc": "jacobi" + }, + "actual_input_digest": "1b99a85fdb15c989679a81a6ac7cfe84dea74c100acf5308eb0a3c717f31fde9", + "case_id": "incompatible_solver_configuration", + "execution_path": "_strict_solver_config", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "requires CG/Jacobi", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "_strict_solver_config", + "observed_message": "WP13-01C incompatible solver configuration: contract requires CG/Jacobi.", + "pass": true, + "path_match": true, + "type_match": true + } + ], + "executed": 9, + "pass": 9, + "required": 9, + "silent_fallback": false, + "status": "PASS" + }, + "family_participation": { + "all_families_distributed_participation": true, + "load_and_solution": "shared connected control path", + "stiffness": "non-zero rank-local contributions for TET4/WEDGE6/HEX8" + }, + "gate_decisions": { + "environment": "PASS", + "failure_contract": "PASS", + "mpi3_optional": "PASS", + "replay": "PASS", + "scale": "FAIL", + "small_connected_runtime": "PASS" + }, + "integrity": { + "element_formulation_changed": false, + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE", + "historical_0_2_7_evidence_changed": false, + "historical_wp13_01c_records_rewritten": false, + "maturity_changed": false, + "numerical_source_changed": false + }, + "limitations": [ + "Owner Gate required before any public capability claim.", + "Linear-static scope only; no dynamics, nonlinear, contact, MPC/RBE or arbitrary-family claim.", + "Scale results are bounded characterization only and do not establish universal HPC scalability.", + "The connected control is the serial-equivalence and reaction qualification case.", + "Root-only solution exchange is used for validation; structural global K/connectivity/element-field gather is absent." + ], + "mixed_runtime_case": { + "connected": true, + "connected_components": 1, + "dof": 33, + "hex8_count": 1, + "model_digest": "1173570aff535ef4d8374bd1dad91c60141664ee4dcb4635a62ce24031ca2c73", + "tet4_count": 1, + "wedge6_count": 1 + }, + "no_global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "petsc_assembly": { + "matrix": "PASS", + "offprocess_insertion": true, + "preallocation": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "vector": "PASS" + }, + "petsc_solve": { + "converged_reason_r2": 3, + "final_residual_r2": 1.2473956671342079e-18, + "iterations_r2": 12, + "ksp_rtol": 1e-13, + "ksp_type": "CG", + "mpi2": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941499919999, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 1.3373210094869136e-12, + "force_balance_relative": 1.3374023708276375e-12, + "free_residual_relative": 2.058574718312439e-12, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 12, + "ksp_final_residual": 1.2473956671342079e-18, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9cd376b22f3d3aae2b04fc6acbd2aa3ca4735204984d359a4b7ae8f15ea29113", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000013373, + -1.4651959645561874e-09, + -1.7143975128419697e-10 + ], + "reaction_vector": [ + -4624.344811778221, + -1633.9395263723356, + -3934.503150618622, + 5508.037382840732, + -312.08606134529305, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511237, + -2799.101108282334, + 7696.009254884872, + 931.6916886999022, + -7748.7035077624005, + -3953.7885677787963, + -11398.212223569244, + -39542.36021774333, + -6188.549605201256, + 2494.8768077568056, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "residual": [ + -4624.344811778211, + -1633.9395263723354, + -3934.503150618617, + 3.550530891516246e-08, + 4.366302164271474e-08, + -5.137007974553853e-08, + 5508.037382840732, + -312.0860613452942, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511239, + 3.5543052945286036e-08, + 4.3977252062177286e-08, + 5.180936568649486e-08, + -2799.101108282334, + 7696.009254884871, + 931.6916886999024, + -7748.703507762404, + -3953.7885677787967, + -11398.212223569248, + 3.1058220884006005e-08, + -4.314188117859885e-08, + -4.385037755127996e-08, + -39542.36021774332, + -6188.549605201255, + 2494.876807756804, + 3.162131179124117e-08, + -4.30327418143861e-08, + 4.359753802418709e-08, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "runtime_seconds": 0.005624982999961503, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382850349742388e-07, + 1.5311809982928432e-07, + -3.399814940046885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819807811e-07, + -7.000062236567741e-08, + -4.6805185420571885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5018914311124073e-07, + 8.405987983172517e-08, + -5.220128295507832e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179868764e-06, + 3.1493859502365035e-07, + -7.191876129219562e-07, + 0.0, + 0.0, + 0.0 + ], + "status": "PASS" + }, + "mpi3": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "element_count": 3, + "energy": 0.048279414999195316, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 9.720679372549057e-13, + "force_balance_relative": 9.721294869110946e-13, + "free_residual_relative": 1.4963663948133532e-12, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 12, + "ksp_final_residual": 9.068849173354248e-19, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "d0e0b148f25965a3fdb63e85a5715d0345d6e2e6b058bb931ecb149a6c9a681b", + "offprocess_insertion": true, + "partition": { + "digest": "041b7556f3014ee059cef15936d0f31b7a8f1cdaa67392769fbefb1f7e2049f4", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 6, + "owned_elements": [ + 1 + ], + "owned_nodes": 3, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_nodes": 4, + "global_model_retained": false, + "local_nodes": 8, + "owned_elements": [ + 2 + ], + "owned_nodes": 4, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 321.0, + "nz_unneeded": 0.0, + "nz_used": 321.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 270.0, + "nz_unneeded": 0.0, + "nz_used": 270.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 228.0, + "nz_unneeded": 0.0, + "nz_used": 228.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 11, + "max_offdiag_nnz": 22, + "owned_row_pattern_complete": true, + "received_row_records": 28, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -100000.0000000972, + -1.0868461686186492e-09, + -1.241460267920047e-10 + ], + "reaction_vector": [ + -4624.344811764877, + -1633.9395263746735, + -3934.5031506126847, + 5508.037382839291, + -312.08606134750835, + -3935.2129490148513, + -55370.20169515189, + 4392.354505808315, + 12129.438121504743, + -2799.1011082835525, + 7696.009254882822, + 931.6916886979809, + -7748.703507755014, + -3953.7885677738186, + -11398.212223563194, + -39542.36021773588, + -6188.549605196222, + 2494.8768077509026, + 4576.673957754719, + 0.0, + 3711.9217052369795 + ], + "residual": [ + -4624.344811764872, + -1633.9395263746728, + -3934.503150612685, + 2.580554792075418e-08, + 3.174318408127874e-08, + -3.7347490433603525e-08, + 5508.037382839292, + -312.0860613475088, + -3935.212949014851, + -55370.20169515189, + 4392.354505808324, + 12129.438121504742, + 2.5829649530351162e-08, + 3.1969193514669314e-08, + 3.7667632568627596e-08, + -2799.1011082835525, + 7696.0092548828225, + 931.6916886979807, + -7748.70350775501, + -3953.7885677738177, + -11398.21222356319, + 2.2571839508600533e-08, + -3.136392479063943e-08, + -3.187869879184291e-08, + -39542.36021773588, + -6188.549605196223, + 2494.876807750904, + 2.2970198187977076e-08, + -3.1269337341655046e-08, + 3.169043338857591e-08, + 4576.673957754719, + 0.0, + 3711.9217052369795 + ], + "runtime_seconds": 0.02062139399959051, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382850349745043e-07, + 1.5311809982923038e-07, + -3.3998149400463626e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819807484e-07, + -7.00006223657372e-08, + -4.6805185420577555e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431113004e-07, + 8.405987983180806e-08, + -5.220128295506993e-07, + 0.0, + 0.0, + 0.0, + 1.356905017986816e-06, + 3.149385950237331e-07, + -7.1918761292204e-07, + 0.0, + 0.0, + 0.0 + ], + "status": "PASS" + }, + "pc_type": "JACOBI" + }, + "raw_data_archived": { + "array_count": 6, + "manifest": "manifest.json", + "path": "raw_runtime_arrays.npz" + }, + "reactions": { + "definition": "R = K*u - F on constrained DOFs", + "reduction": "root validation reduction of owner-partitioned rank packets", + "runtime": "rank-local element internal-force contributions", + "serial_equivalence": true + }, + "record_id": "QF-028-WP13-01C-PETSC-MPI-MIXED-RUNTIME", + "replays": { + "determinism": "PASS", + "mpi2": [ + { + "displacement_relative_l2": 0.0, + "energy_relative_difference": 0.0, + "id": "replay_1", + "normalized_digest_equal": true, + "reaction_relative_l2": 0.0, + "residual_relative_difference": 0.0, + "same_iterations": true, + "same_model_digest": true, + "same_partition_digest": true, + "status": "PASS" + }, + { + "displacement_relative_l2": 0.0, + "energy_relative_difference": 0.0, + "id": "replay_2", + "normalized_digest_equal": true, + "reaction_relative_l2": 0.0, + "residual_relative_difference": 0.0, + "same_iterations": true, + "same_model_digest": true, + "same_partition_digest": true, + "status": "PASS" + } + ], + "replay_1": "PASS", + "replay_2": "PASS", + "required": 2 + }, + "repo_sha": "f5c1c6229390121645d6a1678a7bbe1a2662d8d6", + "scale_characterization": { + "cases": [ + { + "assembly_runtime": null, + "dof": 100023, + "element_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "id": "A", + "iterations": null, + "peak_memory": null, + "ranks": 2, + "residual": null, + "solve_runtime": null, + "status": "FAIL" + }, + { + "id": "B", + "status": "NOT_RUN_PREVIOUS_SCALE_GATE_FAILED" + } + ], + "interpretation": "bounded characterization; no general scaling claim", + "one_million_dof_status": "NOT_RUN_PREVIOUS_SCALE_GATE_FAILED" + }, + "schema_version": 1, + "serial_equivalence": { + "mpi2": { + "displacement_error_r2": 8.120447433750489e-19, + "energy_error_r2": 1.709743457922741e-14, + "force_balance_r2": 1.3374023708276375e-12, + "pass": true, + "reaction_error_r2": 1.299604282230818e-12, + "residual_r2": 2.058574718312439e-12 + }, + "mpi3": { + "displacement_error_r3": 5.902605545418898e-19, + "energy_error_r3": 1.2420620087993939e-14, + "force_balance_r3": 9.721294869110946e-13, + "pass": true, + "reaction_error_r3": 9.446274609555245e-13, + "residual_r3": 1.4963663948133532e-12 + } + }, + "serial_reference": { + "backend": "serial_global_assembler", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.8382850349752102e-07, + 1.5311809982908588e-07, + -3.3998149400449745e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806618e-07, + -7.000062236589645e-08, + -4.6805185420592696e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431114589e-07, + 8.405987983202793e-08, + -5.220128295504752e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866542e-06, + 3.149385950239527e-07, + -7.191876129222623e-07, + 0.0, + 0.0, + 0.0 + ], + "displacement_digest": "dea52cc0f152e4e9f18dbeb096fe8e25e1e113c40328e9e105ae869b723337c9", + "displacement_norm": 1.8937767094634946e-06, + "element_count": 3, + "energy": 0.048279414999182896, + "energy_identity_relative": 1.3877787807814457e-17, + "equilibrium_relative": 1.619309279227751e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 3.292603210724474e-16, + "ghost_nodes": 0, + "global_gather_present": false, + "internal_force_norm": 101163.74092547894, + "iterations": "direct", + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "matrix_nnz": 763, + "model": { + "connected_components": 1, + "dof": 33, + "element_count": 3, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "fixed_nodes": 7, + "load_nodes": [ + 4, + 9 + ], + "model_digest": "1173570aff535ef4d8374bd1dad91c60141664ee4dcb4635a62ce24031ca2c73", + "node_count": 11 + }, + "model_digest": "5e8a2dbe0af0004dd8131659fb1c09ef53a4988cc6139be1b4cd74c79923809a", + "ndof": 33, + "peak_memory_mb": 78.82421875, + "rank_count": 1, + "reaction_digest": "0ae204d2e2dbfea5dc196e98ee7b5aac4cd99e0c375a9d7647a9fe2656a53290", + "reaction_norm": 72347.0972329742, + "reaction_resultant": [ + -100000.0, + -1.000444171950221e-11, + 1.2732925824820995e-11 + ], + "reaction_vector": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "reallocations": 0, + "residual": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + -2.2737367544323206e-13, + -3.637978807091713e-12, + 5.4569682106375694e-12, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + 1.4551915228366852e-11, + -9.094947017729282e-13, + -7.275957614183426e-12, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + 0.0, + 2.2737367544323206e-12, + 1.8189894035458565e-12, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + -1.4551915228366852e-11, + 3.637978807091713e-12, + 0.0, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "residual_digest": "11a437707fce5bb4910c4e54fd94fea0b90b810724d943fab3e11aa9d8f44d2a", + "runtime_seconds": 0.010356198999943445, + "segments": 1, + "status": "PASS", + "wall_seconds": 0.011072425999827828 + }, + "status": "FAIL_RUNTIME", + "work_package": "WP13-01C" +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/failures.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/failures.json new file mode 100644 index 00000000..086fb7ce --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/failures.json @@ -0,0 +1,203 @@ +{ + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "failure_contract": { + "cases": [ + { + "actual_input": { + "family": "PYRAMID5", + "nodes": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "actual_input_digest": "1b50e677c191f9fcd1d7fdade5b98835252554f337dcce7aec8cf36b8eaf9163", + "case_id": "unsupported_family", + "execution_path": "RankLocalElement.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "Unsupported rank-local element family", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Unsupported rank-local element family 'PYRAMID5'.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "rank_count": 0, + "segments": 1 + }, + "actual_input_digest": "0503aaee999b89e32413143db51abf85c326907b9159489ad8f9d8b1a1d31e12", + "case_id": "invalid_partition", + "execution_path": "_rank_local_model", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "Invalid MPI rank/size", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "_rank_local_model", + "observed_message": "Invalid MPI rank/size for rank-local model.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "element_owner": { + "0": 1 + }, + "rank": 0 + }, + "actual_input_digest": "77f188e77cf2cfedd89d0c9db65389660369424b876b6ccc8c3eabb91b2c7c7c", + "case_id": "invalid_owner", + "execution_path": "RankLocalModel.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "does not belong to this rank", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Rank-local element does not belong to this rank.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "local_nodes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "requested_node": 9999 + }, + "actual_input_digest": "3606a6d0f710bd35632a2f373d4566125d4744169760bc65a3540771abda969d", + "case_id": "missing_ghost", + "execution_path": "RankLocalModel.coordinates_for", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "missing node coordinate", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "coordinates_for", + "observed_message": "Rank-local element requested a missing node coordinate.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "family": "TET4", + "nodes": [ + 0, + 1, + 2 + ] + }, + "actual_input_digest": "f789a0e44c716216e220b9e2cf7347848e5dedd300d0488ed24fb857156efd6e", + "case_id": "malformed_connectivity", + "execution_path": "RankLocalElement.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "invalid connectivity", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "TET4 rank-local element 0 has invalid connectivity.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "local_nodes": [ + 0 + ], + "node_global_to_local": { + "0": 1 + } + }, + "actual_input_digest": "58adb5682925681900c3b1ec918d061711bd96c57e39c6251895f46fcaa702aa", + "case_id": "bad_dof_map", + "execution_path": "RankLocalDofMap.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "node local/global mapping is invalid", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Rank-local node local/global mapping is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "element_material": "solid", + "materials": {} + }, + "actual_input_digest": "547aa499ea24e298d25b1ead3e8be0e37374fbfb1483a2d06dad79ac78e59a89", + "case_id": "missing_material", + "execution_path": "RankLocalModel.__post_init__", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "unknown material", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "__post_init__", + "observed_message": "Rank-local element references unknown material 'solid'.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "mpi_initialized": true, + "petsc_initialized": false + }, + "actual_input_digest": "777e80430e80d29ed16976479d2da986d7e4b8c3f7feecfa6a664d09743a5d29", + "case_id": "petsc_initialization_failure_path", + "execution_path": "_require_petsc_mpi", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "PETSc MPI initialization failed", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "_require_petsc_mpi", + "observed_message": "PETSc MPI initialization failed: PETSc is not initialized.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "ksp": "gmres", + "pc": "jacobi" + }, + "actual_input_digest": "1b99a85fdb15c989679a81a6ac7cfe84dea74c100acf5308eb0a3c717f31fde9", + "case_id": "incompatible_solver_configuration", + "execution_path": "_strict_solver_config", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "requires CG/Jacobi", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "_strict_solver_config", + "observed_message": "WP13-01C incompatible solver configuration: contract requires CG/Jacobi.", + "pass": true, + "path_match": true, + "type_match": true + } + ], + "executed": 9, + "pass": 9, + "required": 9, + "silent_fallback": false, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/manifest.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/manifest.json new file mode 100644 index 00000000..8050f166 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/manifest.json @@ -0,0 +1,40 @@ +{ + "array_names": [ + "mpi2_displacement", + "mpi2_reactions", + "mpi2_residual", + "serial_displacement", + "serial_reactions", + "serial_residual" + ], + "array_shapes": { + "mpi2_displacement": [ + 33 + ], + "mpi2_reactions": [ + 21 + ], + "mpi2_residual": [ + 33 + ], + "serial_displacement": [ + 33 + ], + "serial_reactions": [ + 21 + ], + "serial_residual": [ + 33 + ] + }, + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "contract_sha256": "43ee8f4c331b3aafb8ce10da1e0f60210ad672eb14af88b42ab959fb7b5003a1", + "evidence_integrity": "PASS", + "evidence_schema_valid": true, + "files": { + "raw_runtime_arrays.npz": "846cfc293e0ac72eeb5cfe5cca700223e7e76ea1a302ef468103f02166c50850" + }, + "repo_sha": "f5c1c6229390121645d6a1678a7bbe1a2662d8d6", + "schema_version": 1, + "semantic_digest": "67e27ad6ae9ebe2320faf88b62b20c908c41c96bf10318166a21e3db9339cac9" +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_replay1.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_replay1.json new file mode 100644 index 00000000..dc9a8ac4 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_replay1.json @@ -0,0 +1,219 @@ +{ + "case": "mpi", + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "result": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941499919999, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 1.3373210094869136e-12, + "force_balance_relative": 1.3374023708276375e-12, + "free_residual_relative": 2.058574718312439e-12, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 12, + "ksp_final_residual": 1.2473956671342079e-18, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9cd376b22f3d3aae2b04fc6acbd2aa3ca4735204984d359a4b7ae8f15ea29113", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000013373, + -1.4651959645561874e-09, + -1.7143975128419697e-10 + ], + "reaction_vector": [ + -4624.344811778221, + -1633.9395263723356, + -3934.503150618622, + 5508.037382840732, + -312.08606134529305, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511237, + -2799.101108282334, + 7696.009254884872, + 931.6916886999022, + -7748.7035077624005, + -3953.7885677787963, + -11398.212223569244, + -39542.36021774333, + -6188.549605201256, + 2494.8768077568056, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "residual": [ + -4624.344811778211, + -1633.9395263723354, + -3934.503150618617, + 3.550530891516246e-08, + 4.366302164271474e-08, + -5.137007974553853e-08, + 5508.037382840732, + -312.0860613452942, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511239, + 3.5543052945286036e-08, + 4.3977252062177286e-08, + 5.180936568649486e-08, + -2799.101108282334, + 7696.009254884871, + 931.6916886999024, + -7748.703507762404, + -3953.7885677787967, + -11398.212223569248, + 3.1058220884006005e-08, + -4.314188117859885e-08, + -4.385037755127996e-08, + -39542.36021774332, + -6188.549605201255, + 2494.876807756804, + 3.162131179124117e-08, + -4.30327418143861e-08, + 4.359753802418709e-08, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "runtime_seconds": 0.0031531409999843163, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382850349742388e-07, + 1.5311809982928432e-07, + -3.399814940046885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819807811e-07, + -7.000062236567741e-08, + -4.6805185420571885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5018914311124073e-07, + 8.405987983172517e-08, + -5.220128295507832e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179868764e-06, + 3.1493859502365035e-07, + -7.191876129219562e-07, + 0.0, + 0.0, + 0.0 + ], + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_replay2.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_replay2.json new file mode 100644 index 00000000..6275d86a --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_replay2.json @@ -0,0 +1,219 @@ +{ + "case": "mpi", + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "result": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941499919999, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 1.3373210094869136e-12, + "force_balance_relative": 1.3374023708276375e-12, + "free_residual_relative": 2.058574718312439e-12, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 12, + "ksp_final_residual": 1.2473956671342079e-18, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9cd376b22f3d3aae2b04fc6acbd2aa3ca4735204984d359a4b7ae8f15ea29113", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000013373, + -1.4651959645561874e-09, + -1.7143975128419697e-10 + ], + "reaction_vector": [ + -4624.344811778221, + -1633.9395263723356, + -3934.503150618622, + 5508.037382840732, + -312.08606134529305, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511237, + -2799.101108282334, + 7696.009254884872, + 931.6916886999022, + -7748.7035077624005, + -3953.7885677787963, + -11398.212223569244, + -39542.36021774333, + -6188.549605201256, + 2494.8768077568056, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "residual": [ + -4624.344811778211, + -1633.9395263723354, + -3934.503150618617, + 3.550530891516246e-08, + 4.366302164271474e-08, + -5.137007974553853e-08, + 5508.037382840732, + -312.0860613452942, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511239, + 3.5543052945286036e-08, + 4.3977252062177286e-08, + 5.180936568649486e-08, + -2799.101108282334, + 7696.009254884871, + 931.6916886999024, + -7748.703507762404, + -3953.7885677787967, + -11398.212223569248, + 3.1058220884006005e-08, + -4.314188117859885e-08, + -4.385037755127996e-08, + -39542.36021774332, + -6188.549605201255, + 2494.876807756804, + 3.162131179124117e-08, + -4.30327418143861e-08, + 4.359753802418709e-08, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "runtime_seconds": 0.003997292999883939, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382850349742388e-07, + 1.5311809982928432e-07, + -3.399814940046885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819807811e-07, + -7.000062236567741e-08, + -4.6805185420571885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5018914311124073e-07, + 8.405987983172517e-08, + -5.220128295507832e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179868764e-06, + 3.1493859502365035e-07, + -7.191876129219562e-07, + 0.0, + 0.0, + 0.0 + ], + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_small.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_small.json new file mode 100644 index 00000000..edef325f --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi2_small.json @@ -0,0 +1,219 @@ +{ + "case": "mpi", + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "result": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941499919999, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 1.3373210094869136e-12, + "force_balance_relative": 1.3374023708276375e-12, + "free_residual_relative": 2.058574718312439e-12, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 12, + "ksp_final_residual": 1.2473956671342079e-18, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9cd376b22f3d3aae2b04fc6acbd2aa3ca4735204984d359a4b7ae8f15ea29113", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000013373, + -1.4651959645561874e-09, + -1.7143975128419697e-10 + ], + "reaction_vector": [ + -4624.344811778221, + -1633.9395263723356, + -3934.503150618622, + 5508.037382840732, + -312.08606134529305, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511237, + -2799.101108282334, + 7696.009254884872, + 931.6916886999022, + -7748.7035077624005, + -3953.7885677787963, + -11398.212223569244, + -39542.36021774333, + -6188.549605201256, + 2494.8768077568056, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "residual": [ + -4624.344811778211, + -1633.9395263723354, + -3934.503150618617, + 3.550530891516246e-08, + 4.366302164271474e-08, + -5.137007974553853e-08, + 5508.037382840732, + -312.0860613452942, + -3935.2129490166935, + -55370.2016951636, + 4392.354505811345, + 12129.438121511239, + 3.5543052945286036e-08, + 4.3977252062177286e-08, + 5.180936568649486e-08, + -2799.101108282334, + 7696.009254884871, + 931.6916886999024, + -7748.703507762404, + -3953.7885677787967, + -11398.212223569248, + 3.1058220884006005e-08, + -4.314188117859885e-08, + -4.385037755127996e-08, + -39542.36021774332, + -6188.549605201255, + 2494.876807756804, + 3.162131179124117e-08, + -4.30327418143861e-08, + 4.359753802418709e-08, + 4576.673957755423, + 0.0, + 3711.9217052364434 + ], + "runtime_seconds": 0.005624982999961503, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382850349742388e-07, + 1.5311809982928432e-07, + -3.399814940046885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819807811e-07, + -7.000062236567741e-08, + -4.6805185420571885e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5018914311124073e-07, + 8.405987983172517e-08, + -5.220128295507832e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179868764e-06, + 3.1493859502365035e-07, + -7.191876129219562e-07, + 0.0, + 0.0, + 0.0 + ], + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi3_small.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi3_small.json new file mode 100644 index 00000000..bcbb24d5 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/mpi3_small.json @@ -0,0 +1,245 @@ +{ + "case": "mpi", + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "result": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "element_count": 3, + "energy": 0.048279414999195316, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 9.720679372549057e-13, + "force_balance_relative": 9.721294869110946e-13, + "free_residual_relative": 1.4963663948133532e-12, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 12, + "ksp_final_residual": 9.068849173354248e-19, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "d0e0b148f25965a3fdb63e85a5715d0345d6e2e6b058bb931ecb149a6c9a681b", + "offprocess_insertion": true, + "partition": { + "digest": "041b7556f3014ee059cef15936d0f31b7a8f1cdaa67392769fbefb1f7e2049f4", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 6, + "owned_elements": [ + 1 + ], + "owned_nodes": 3, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_nodes": 4, + "global_model_retained": false, + "local_nodes": 8, + "owned_elements": [ + 2 + ], + "owned_nodes": 4, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 321.0, + "nz_unneeded": 0.0, + "nz_used": 321.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 270.0, + "nz_unneeded": 0.0, + "nz_used": 270.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 228.0, + "nz_unneeded": 0.0, + "nz_used": 228.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 11, + "max_offdiag_nnz": 22, + "owned_row_pattern_complete": true, + "received_row_records": 28, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -100000.0000000972, + -1.0868461686186492e-09, + -1.241460267920047e-10 + ], + "reaction_vector": [ + -4624.344811764877, + -1633.9395263746735, + -3934.5031506126847, + 5508.037382839291, + -312.08606134750835, + -3935.2129490148513, + -55370.20169515189, + 4392.354505808315, + 12129.438121504743, + -2799.1011082835525, + 7696.009254882822, + 931.6916886979809, + -7748.703507755014, + -3953.7885677738186, + -11398.212223563194, + -39542.36021773588, + -6188.549605196222, + 2494.8768077509026, + 4576.673957754719, + 0.0, + 3711.9217052369795 + ], + "residual": [ + -4624.344811764872, + -1633.9395263746728, + -3934.503150612685, + 2.580554792075418e-08, + 3.174318408127874e-08, + -3.7347490433603525e-08, + 5508.037382839292, + -312.0860613475088, + -3935.212949014851, + -55370.20169515189, + 4392.354505808324, + 12129.438121504742, + 2.5829649530351162e-08, + 3.1969193514669314e-08, + 3.7667632568627596e-08, + -2799.1011082835525, + 7696.0092548828225, + 931.6916886979807, + -7748.70350775501, + -3953.7885677738177, + -11398.21222356319, + 2.2571839508600533e-08, + -3.136392479063943e-08, + -3.187869879184291e-08, + -39542.36021773588, + -6188.549605196223, + 2494.876807750904, + 2.2970198187977076e-08, + -3.1269337341655046e-08, + 3.169043338857591e-08, + 4576.673957754719, + 0.0, + 3711.9217052369795 + ], + "runtime_seconds": 0.02062139399959051, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382850349745043e-07, + 1.5311809982923038e-07, + -3.3998149400463626e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819807484e-07, + -7.00006223657372e-08, + -4.6805185420577555e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431113004e-07, + 8.405987983180806e-08, + -5.220128295506993e-07, + 0.0, + 0.0, + 0.0, + 1.356905017986816e-06, + 3.149385950237331e-07, + -7.1918761292204e-07, + 0.0, + 0.0, + 0.0 + ], + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/raw_runtime_arrays.npz b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/raw_runtime_arrays.npz new file mode 100644 index 00000000..f9aaff94 Binary files /dev/null and b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/raw_runtime_arrays.npz differ diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/scale_a.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/scale_a.json new file mode 100644 index 00000000..764fe674 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/scale_a.json @@ -0,0 +1,31 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "case": "mpi", + "result": { + "status": "FAIL_RUNTIME", + "backend": "petsc4py_mpi_rank_local", + "rank_count": 2, + "segments": 5556, + "ndof": 100023, + "element_count": 16668, + "family_counts": { + "TET4": 5556, + "WEDGE6": 5556, + "HEX8": 5556 + }, + "converged_reason": -3, + "iterations": null, + "ksp_final_residual": null, + "free_residual_relative": null, + "runtime_seconds": null, + "failure": { + "exception_type": "RuntimeError", + "message": "PETSc CG/Jacobi did not converge: reason=-3", + "execution_path": "_petsc_case", + "command": "mpiexec -n 2 python scripts/run_wp13_01c_final_runtime.py --mode mpi --segments 5556 --output qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/scale_a.json", + "observed_after": "real PETSc Mat/Vec assembly and KSP execution", + "qualification_status": "FAIL_RUNTIME" + } + } +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/serial_small.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/serial_small.json new file mode 100644 index 00000000..e0707cac --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/serial_small.json @@ -0,0 +1,192 @@ +{ + "case": "serial", + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "result": { + "backend": "serial_global_assembler", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.8382850349752102e-07, + 1.5311809982908588e-07, + -3.3998149400449745e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806618e-07, + -7.000062236589645e-08, + -4.6805185420592696e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431114589e-07, + 8.405987983202793e-08, + -5.220128295504752e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866542e-06, + 3.149385950239527e-07, + -7.191876129222623e-07, + 0.0, + 0.0, + 0.0 + ], + "displacement_digest": "dea52cc0f152e4e9f18dbeb096fe8e25e1e113c40328e9e105ae869b723337c9", + "displacement_norm": 1.8937767094634946e-06, + "element_count": 3, + "energy": 0.048279414999182896, + "energy_identity_relative": 1.3877787807814457e-17, + "equilibrium_relative": 1.619309279227751e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 3.292603210724474e-16, + "ghost_nodes": 0, + "global_gather_present": false, + "internal_force_norm": 101163.74092547894, + "iterations": "direct", + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "matrix_nnz": 763, + "model": { + "connected_components": 1, + "dof": 33, + "element_count": 3, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "fixed_nodes": 7, + "load_nodes": [ + 4, + 9 + ], + "model_digest": "1173570aff535ef4d8374bd1dad91c60141664ee4dcb4635a62ce24031ca2c73", + "node_count": 11 + }, + "model_digest": "5e8a2dbe0af0004dd8131659fb1c09ef53a4988cc6139be1b4cd74c79923809a", + "ndof": 33, + "peak_memory_mb": 78.82421875, + "rank_count": 1, + "reaction_digest": "0ae204d2e2dbfea5dc196e98ee7b5aac4cd99e0c375a9d7647a9fe2656a53290", + "reaction_norm": 72347.0972329742, + "reaction_resultant": [ + -100000.0, + -1.000444171950221e-11, + 1.2732925824820995e-11 + ], + "reaction_vector": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "reallocations": 0, + "residual": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + -2.2737367544323206e-13, + -3.637978807091713e-12, + 5.4569682106375694e-12, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + 1.4551915228366852e-11, + -9.094947017729282e-13, + -7.275957614183426e-12, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + 0.0, + 2.2737367544323206e-12, + 1.8189894035458565e-12, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + -1.4551915228366852e-11, + 3.637978807091713e-12, + 0.0, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "residual_digest": "11a437707fce5bb4910c4e54fd94fea0b90b810724d943fab3e11aa9d8f44d2a", + "runtime_seconds": 0.010356198999943445, + "segments": 1, + "status": "PASS", + "wall_seconds": 0.011072425999827828 + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime_contract.json b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime_contract.json new file mode 100644 index 00000000..7fc17e67 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime_contract.json @@ -0,0 +1,155 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "work_package": "WP13-01C", + "status": "PREDECLARED", + "creation_sha": "94f97645e649617ea9b3e50ca777dec35227623e", + "historical_records_preserved": [ + "qualification/0_2_8/wp13_01c_runtime_contract.json", + "qualification/0_2_8/wp13_01c_runtime_execution.json", + "qualification/0_2_8/wp13_01c_runtime_evidence.json", + "qualification/0_2_8/wp13_01c2_runtime_execution.json", + "qualification/0_2_8/wp13_01c2_owner_gate.json" + ], + "scope": { + "analysis": "linear_static", + "element_families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node mixed interfaces for the connected control; family-balanced connected chain for scale characterization", + "material": "homogeneous small-strain isotropic elasticity", + "runtime": "real PETSc/petsc4py and real MPICH MPI in the pinned Docker environment", + "ranks_required": [2], + "ranks_optional": [3], + "claim": "bounded runtime evidence only for the executed connected control and declared scale characterization; no general HPC claim" + }, + "environment": { + "strategy": "Dedicated Docker Linux + conda-forge", + "python": "3.12.14", + "petsc": "3.25.5", + "petsc4py": "3.25.5", + "mpi": "MPICH 5.0.1", + "scalar": "float64", + "index": "int32", + "launcher": "mpiexec" + }, + "solver": { + "ksp_type": "cg", + "pc_type": "jacobi", + "ksp_rtol": 1.0e-13, + "ksp_atol": 1.0e-14, + "ksp_max_it": 10000, + "post_observation_retuning": false + }, + "benchmark": { + "connected_control": { + "source": "family-balanced connected TET4/WEDGE6/HEX8 chain", + "segments": 1, + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "dof": 33, + "support": "all nodes on x=0 fixed in UX/UY/UZ", + "load": "equal UX loads on the x=1,z=1 end nodes", + "serial_reference": "existing serial GlobalAssembler on the identical input" + }, + "scale_characterization": { + "source": "same family-balanced connected chain generator", + "required": [ + {"id": "A", "minimum_dof": 100000, "segments": 5556}, + {"id": "B", "minimum_dof": 300000, "segments": 16667}, + {"id": "C", "target_dof": 1000000, "segments": 55556, "optional": true} + ], + "interpretation": "bounded characterization only; not a universal scaling or production-HPC claim" + } + }, + "gates": { + "petsc_matrix_assembly": true, + "petsc_vector_assembly": true, + "preallocation_runtime": "mallocs == 0 where PETSc exposes the local counter", + "offprocess_insertion": true, + "convergence_reason_positive": true, + "serial_equivalence_relative_l2": {"operator": "<=", "value": 1.0e-10}, + "reaction_equivalence_relative_l2": {"operator": "<=", "value": 1.0e-10}, + "energy_relative": {"operator": "<=", "value": 1.0e-10}, + "force_balance_relative": {"operator": "<=", "value": 1.0e-10}, + "free_residual_relative": {"operator": "<=", "value": 1.0e-10}, + "replay_displacement_relative_l2": {"operator": "<=", "value": 1.0e-12}, + "replay_reaction_relative_l2": {"operator": "<=", "value": 1.0e-12}, + "replay_residual_relative_difference": {"operator": "<=", "value": 1.0e-12}, + "replay_energy_relative_difference": {"operator": "<=", "value": 1.0e-12}, + "replay_iterations_difference": {"operator": "==", "value": 0}, + "family_counts": "exact and all three positive", + "post_observation_retuning": false + }, + "reaction_contract": { + "definition": "R = K*u - F on constrained DOFs", + "ownership": "element internal-force contributions are reduced once to the unique constrained-DOF owner", + "validation_gather": "root-only result/post-processing exchange is permitted; no structural K/connectivity/element-field gather" + }, + "failure_contract": { + "cases": [ + "unsupported_family", + "invalid_partition", + "invalid_owner", + "missing_ghost", + "malformed_connectivity", + "bad_dof_map", + "missing_material", + "petsc_initialization_failure_path", + "incompatible_solver_configuration" + ], + "actual_execution_required": true, + "type_message_path_match_required": true, + "any_exception_is_not_automatically_pass": true, + "silent_fallback_allowed": false + }, + "no_gather_contract": { + "global_k_replicated_on_all_ranks": false, + "global_u_required_on_all_ranks": false, + "global_connectivity_required_on_all_ranks": false, + "validation_post_gather_allowed": true + }, + "replay": { + "required": 2, + "same_environment_and_input": true, + "semantic_digest_deterministic": true, + "raw_bitwise_digest": "diagnostic only; MPI reductions need not be portable byte-for-byte" + }, + "evidence_schema": { + "required": [ + "contract_id", + "contract_sha", + "repo_sha", + "environment", + "mixed_runtime_case", + "serial_reference", + "petsc_assembly", + "petsc_solve", + "reactions", + "serial_equivalence", + "family_participation", + "no_global_gather_audit", + "scale_characterization", + "failure_cases", + "replays", + "digests", + "gate_decisions", + "integrity" + ], + "contract_values_single_source_of_truth": true + }, + "claim_policy": { + "maximum_pre_owner_claim": "Experimental bounded PETSc/MPI mixed static runtime for documented TET4/WEDGE6/HEX8 distributed workflows.", + "forbidden": [ + "production HPC ready", + "universally scalable", + "millions of DOFs generally supported", + "distributed mixed fully qualified", + "dynamic, nonlinear, contact or arbitrary-family claims" + ] + }, + "integrity": { + "numerical_source_changed": false, + "element_formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false, + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + } +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/evidence.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/evidence.json new file mode 100644 index 00000000..7a02c1b9 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/evidence.json @@ -0,0 +1,180 @@ +{ + "automatic_solver_fallback": false, + "candidates": [ + { + "candidate_id": "CG_BJACOBI", + "ksp": "CG", + "pc": "BJACOBI", + "scale_a": { + "status": "NOT_RUN_SMALL_NON_REGRESSION_FAILED" + }, + "small_non_regression": { + "displacement_relative": 1.529602039355913e-13, + "energy_relative": 6.522560269672795e-16, + "force_balance_relative": 4.3489919640147385e-08, + "free_residual_relative": 1.5039116674000452e-07, + "pass": false, + "reaction_relative": 1.0687892571692288e-07 + } + }, + { + "candidate_id": "CG_ASM", + "ksp": "CG", + "pc": "ASM", + "scale_a": { + "converged_reason": -8, + "force_balance_relative": 0.7397956272364193, + "free_residual_relative": 0.4100397311371989, + "iterations": 2, + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "pass": false, + "runtime_seconds": 1.8896773400010716, + "status": "FAIL" + }, + "small_non_regression": { + "displacement_relative": 9.912040081636764e-22, + "energy_relative": 2.0816681711721685e-17, + "force_balance_relative": 4.2281722988547085e-16, + "free_residual_relative": 4.160503370199066e-16, + "pass": true, + "reaction_relative": 4.166099793628088e-16 + } + }, + { + "candidate_id": "CG_GAMG", + "ksp": "CG", + "pc": "GAMG", + "scale_a": { + "status": "NOT_RUN_SMALL_NON_REGRESSION_FAILED" + }, + "small_non_regression": { + "displacement_relative": 1.2221180613546669e-13, + "energy_relative": 4.971890329996675e-10, + "force_balance_relative": 5.256574890694201e-08, + "free_residual_relative": 1.6206704942335936e-07, + "pass": false, + "reaction_relative": 8.200179336111325e-08 + } + }, + { + "candidate_id": "GMRES_BJACOBI", + "ksp": "GMRES", + "pc": "BJACOBI", + "scale_a": { + "status": "NOT_RUN_SMALL_NON_REGRESSION_FAILED" + }, + "small_non_regression": { + "displacement_relative": 2.316980229151998e-13, + "energy_relative": 6.871686414333666e-10, + "force_balance_relative": 5.373954339011249e-08, + "free_residual_relative": 1.3229079873713173e-07, + "pass": false, + "reaction_relative": 1.1205001901715771e-07 + } + }, + { + "candidate_id": "GMRES_ASM", + "ksp": "GMRES", + "pc": "ASM", + "scale_a": { + "converged_reason": 3, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "iterations": 8, + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "pass": false, + "runtime_seconds": 2.2173690290001105, + "status": "PASS" + }, + "small_non_regression": { + "displacement_relative": 1.3388842595562628e-21, + "energy_relative": 4.163336342344337e-17, + "force_balance_relative": 6.468291535091174e-16, + "free_residual_relative": 4.531757568334861e-16, + "pass": true, + "reaction_relative": 6.197010036760375e-16 + } + }, + { + "candidate_id": "GMRES_GAMG", + "ksp": "GMRES", + "pc": "GAMG", + "scale_a": { + "status": "NOT_RUN_SMALL_NON_REGRESSION_FAILED" + }, + "small_non_regression": { + "displacement_relative": 1.4083968659705348e-13, + "energy_relative": 2.232829338089104e-10, + "force_balance_relative": 4.223863453439958e-08, + "free_residual_relative": 1.5604367874012226e-07, + "pass": false, + "reaction_relative": 7.065187099957481e-08 + } + } + ], + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "element_formulation_changed": false, + "historical_0_2_7_evidence_changed": false, + "matrix_diagnosis": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "maturity_changed": false, + "numerical_source_changed": false, + "one_million_dof_status": "NOT_RUN_NO_ACCEPTED_SCALE_A", + "original_failure_preserved": { + "dof": 100023, + "ksp": "CG", + "path": "qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/scale_a.json", + "pc": "JACOBI", + "reason": -3, + "status": "FAIL_RUNTIME" + }, + "replay_determinism": "NOT_RUN_NO_SELECTED_CONFIGURATION", + "replays": [], + "scale_b": { + "status": "NOT_RUN_NO_ACCEPTED_SCALE_A" + }, + "schema_version": 1, + "selected": null, + "selected_scale_a": null, + "selected_small_case": null, + "status": "STILL_FAIL_RUNTIME" +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/scale_a_CG_ASM.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/scale_a_CG_ASM.json new file mode 100644 index 00000000..0992a7e8 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/scale_a_CG_ASM.json @@ -0,0 +1,16828 @@ +{ + "candidate_id": "CG_ASM", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "assembly_seconds": 26.19124780799939, + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "CG_ASM", + "ksp": "CG", + "max_it": 20000, + "pc": "ASM", + "rtol": 1e-10 + }, + "candidate_id": "CG_ASM", + "converged_reason": -8, + "element_count": 16668, + "energy": 0.02640908551689789, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.6869395893402878, + "force_balance_relative": 0.7397956272364193, + "free_residual_relative": 0.4100397311371989, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 2, + "ksp_final_residual": 7.662276374444804e-09, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -31306.04106597122, + 24745.637866311095, + -11906.683557591921 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 1.8896773400010716, + "segments": 5556, + "solution": null, + "solve_seconds": 0.3345278340002551, + "solver_configuration": { + "atol": 1e-12, + "id": "CG_ASM", + "ksp": "cg", + "max_it": 20000, + "pc": "asm", + "rtol": 1e-10 + }, + "status": "FAIL" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/scale_a_GMRES_ASM.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/scale_a_GMRES_ASM.json new file mode 100644 index 00000000..8031a228 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/scale_a_GMRES_ASM.json @@ -0,0 +1,16830 @@ +{ + "candidate_id": "GMRES_ASM", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "assembly_seconds": 29.63573713199912, + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "GMRES_ASM", + "ksp": "GMRES", + "max_it": 20000, + "pc": "ASM", + "restart": 100, + "rtol": 1e-10 + }, + "candidate_id": "GMRES_ASM", + "converged_reason": 3, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206048129653935e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 2.2173690290001105, + "segments": 5556, + "solution": null, + "solve_seconds": 0.509793360999538, + "solver_configuration": { + "atol": 1e-12, + "id": "GMRES_ASM", + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/serial_small.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/serial_small.json new file mode 100644 index 00000000..42f76797 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/serial_small.json @@ -0,0 +1,193 @@ +{ + "case": "serial", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "serial_global_assembler", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.8382850349752102e-07, + 1.5311809982908588e-07, + -3.3998149400449745e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806618e-07, + -7.000062236589645e-08, + -4.6805185420592696e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431114589e-07, + 8.405987983202793e-08, + -5.220128295504752e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866542e-06, + 3.149385950239527e-07, + -7.191876129222623e-07, + 0.0, + 0.0, + 0.0 + ], + "displacement_digest": "dea52cc0f152e4e9f18dbeb096fe8e25e1e113c40328e9e105ae869b723337c9", + "displacement_norm": 1.8937767094634946e-06, + "element_count": 3, + "energy": 0.048279414999182896, + "energy_identity_relative": 1.3877787807814457e-17, + "equilibrium_relative": 1.619309279227751e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 3.292603210724474e-16, + "ghost_nodes": 0, + "global_gather_present": false, + "internal_force_norm": 101163.74092547894, + "iterations": "direct", + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "matrix_nnz": 763, + "model": { + "connected_components": 1, + "dof": 33, + "element_count": 3, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "fixed_nodes": 7, + "load_nodes": [ + 4, + 9 + ], + "model_digest": "1173570aff535ef4d8374bd1dad91c60141664ee4dcb4635a62ce24031ca2c73", + "node_count": 11 + }, + "model_digest": "5e8a2dbe0af0004dd8131659fb1c09ef53a4988cc6139be1b4cd74c79923809a", + "ndof": 33, + "peak_memory_mb": 76.5625, + "rank_count": 1, + "reaction_digest": "0ae204d2e2dbfea5dc196e98ee7b5aac4cd99e0c375a9d7647a9fe2656a53290", + "reaction_norm": 72347.0972329742, + "reaction_resultant": [ + -100000.0, + -1.000444171950221e-11, + 1.2732925824820995e-11 + ], + "reaction_vector": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "reallocations": 0, + "residual": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + -2.2737367544323206e-13, + -3.637978807091713e-12, + 5.4569682106375694e-12, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + 1.4551915228366852e-11, + -9.094947017729282e-13, + -7.275957614183426e-12, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + 0.0, + 2.2737367544323206e-12, + 1.8189894035458565e-12, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + -1.4551915228366852e-11, + 3.637978807091713e-12, + 0.0, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "residual_digest": "11a437707fce5bb4910c4e54fd94fea0b90b810724d943fab3e11aa9d8f44d2a", + "runtime_seconds": 0.009450379000554676, + "segments": 1, + "status": "PASS", + "wall_seconds": 0.010050115999547415 + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_ASM.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_ASM.json new file mode 100644 index 00000000..ec5560e3 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_ASM.json @@ -0,0 +1,252 @@ +{ + "candidate_id": "CG_ASM", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "CG_ASM", + "ksp": "CG", + "max_it": 20000, + "pc": "ASM", + "rtol": 1e-10 + }, + "candidate_id": "CG_ASM", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941499918292, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 2.9558577807620166e-16, + "force_balance_relative": 4.2281722988547085e-16, + "free_residual_relative": 4.160503370199066e-16, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 1, + "ksp_final_residual": 1.893091899673561e-22, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "b99a7be57b92757b6318aa1d37c1b3e633b305158c21d64cdc4d220bb6b1001b", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000000003, + 8.185452315956354e-12, + 2.955857780762017e-11 + ], + "reaction_vector": [ + -4624.344811729381, + -1633.9395263808683, + -3934.503150596896, + 5508.03738283544, + -312.08606135339824, + -3935.2129490099496, + -55370.20169512076, + 4392.354505800273, + 12129.43812148746, + -2799.1011082868104, + 7696.009254877383, + 931.6916886928757, + -7748.703507735332, + -3953.7885677605486, + -11398.212223547067, + -39542.36021771604, + -6188.549605182833, + 2494.8768077352, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "residual": [ + -4624.344811729382, + -1633.9395263808683, + -3934.503150596891, + 2.0463630789890885e-12, + -1.8189894035458565e-12, + -7.275957614183426e-12, + 5508.0373828354395, + -312.0860613533987, + -3935.2129490099496, + -55370.20169512076, + 4392.354505800273, + 12129.438121487461, + 2.1827872842550278e-11, + -9.094947017729282e-13, + -2.7284841053187847e-12, + -2799.1011082868104, + 7696.009254877384, + 931.6916886928748, + -7748.703507735332, + -3953.7885677605495, + -11398.212223547067, + 8.185452315956354e-12, + 1.8189894035458565e-12, + -1.2732925824820995e-11, + -39542.36021771604, + -6188.549605182834, + 2494.8768077352, + 0.0, + -8.640199666842818e-12, + -3.637978807091713e-12, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "runtime_seconds": 0.0059516560004340135, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.838285034975211e-07, + 1.5311809982908596e-07, + -3.399814940044975e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.74271581980662e-07, + -7.000062236589675e-08, + -4.6805185420592696e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431114589e-07, + 8.405987983202814e-08, + -5.220128295504757e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866544e-06, + 3.1493859502395226e-07, + -7.191876129222628e-07, + 0.0, + 0.0, + 0.0 + ], + "solver_configuration": { + "atol": 1e-12, + "id": "CG_ASM", + "ksp": "cg", + "max_it": 20000, + "pc": "asm", + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_BJACOBI.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_BJACOBI.json new file mode 100644 index 00000000..72965756 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_BJACOBI.json @@ -0,0 +1,252 @@ +{ + "candidate_id": "CG_BJACOBI", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "CG_BJACOBI", + "ksp": "CG", + "max_it": 20000, + "pc": "BJACOBI", + "rtol": 1e-10 + }, + "candidate_id": "CG_BJACOBI", + "converged_reason": 3, + "element_count": 3, + "energy": 0.048279414999182244, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 4.070249808137305e-08, + "force_balance_relative": 4.3489919640147385e-08, + "free_residual_relative": 1.5039116674000452e-07, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 11, + "ksp_final_residual": 7.888145688064028e-14, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "a1d00159c8de0287910e94070298b77f3beb2db39dc4bd7d7f55fdf8cbf35c86", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.99592975019, + -0.0014442003130170633, + -0.0005109628737045568 + ], + "reaction_vector": [ + -4624.33984063615, + -1633.937259386175, + -3934.5034205554603, + 5508.037710928289, + -312.0885608397948, + -3935.2115071935204, + -55370.2001067094, + 4392.354510920803, + 12129.435597725891, + -2799.1003232126973, + 7696.008418402717, + 931.690481627689, + -7748.704980655168, + -3953.7885436494817, + -11398.212966256706, + -39542.36186615836, + -6188.550009648382, + 2494.8783414412546, + 4576.673476693288, + 0.0, + 3711.922962247978 + ], + "residual": [ + -4624.3398406361475, + -1633.9372593861726, + -3934.503420555455, + -0.00676224815833848, + 4.2335062971687876e-05, + 0.005567128122493159, + 5508.037710928289, + -312.0885608397939, + -3935.2115071935214, + -55370.200106709395, + 4392.354510920799, + 12129.435597725893, + -9.833044168772176e-05, + 0.0012359986239971477, + -0.0036330066332084243, + -2799.1003232126973, + 7696.008418402717, + 931.6904816276892, + -7748.704980655166, + -3953.788543649482, + -11398.212966256704, + 0.0031466083634086317, + -0.000700867838531849, + -0.002873233137506759, + -39542.36186615836, + -6188.550009648381, + 2494.8783414412537, + -0.0003562795609468594, + 0.0008667344568493718, + 0.001450074558306369, + 4576.673476693288, + 0.0, + 3711.922962247978 + ], + "runtime_seconds": 0.004047747999720741, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382856574942368e-07, + 1.5311811598177374e-07, + -3.3998145826864423e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742716105684332e-07, + -7.000058877454518e-08, + -4.6805190205742553e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5018905751601364e-07, + 8.405989529690641e-08, + -5.220128718498561e-07, + 0.0, + 0.0, + 0.0, + 1.3569049893988565e-06, + 3.1493863688084636e-07, + -7.191875702149265e-07, + 0.0, + 0.0, + 0.0 + ], + "solver_configuration": { + "atol": 1e-12, + "id": "CG_BJACOBI", + "ksp": "cg", + "max_it": 20000, + "pc": "bjacobi", + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_GAMG.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_GAMG.json new file mode 100644 index 00000000..8e72e624 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_CG_GAMG.json @@ -0,0 +1,252 @@ +{ + "candidate_id": "CG_GAMG", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "CG_GAMG", + "ksp": "CG", + "max_it": 20000, + "pc": "GAMG", + "rtol": 1e-10 + }, + "candidate_id": "CG_GAMG", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941450199386, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 3.7535122969529764e-08, + "force_balance_relative": 5.256574890694201e-08, + "free_residual_relative": 1.6206704942335936e-07, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 7, + "ksp_final_residual": 8.60954118715564e-14, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "baf7f0570e1ea50a66bf24b1a9ff74b2c39ddb826da3296abc5762892b1fc32a", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.99676790062, + 0.0017596188877805861, + 0.0037535122969529766 + ], + "reaction_vector": [ + -4624.3425845941565, + -1633.938101299229, + -3934.500037354593, + 5508.03847268826, + -312.0870788311288, + -3935.211671603735, + -55370.200110692705, + 4392.356294892503, + 12129.43706232703, + -2799.101374172226, + 7696.007718012602, + 931.6903604342419, + -7748.704279993088, + -3953.7875446200487, + -11398.211576383845, + -39542.36082540174, + -6188.549617614344, + 2494.877897435039, + 4576.673934265039, + 8.907853368239288e-05, + 3711.9217186581586 + ], + "residual": [ + -4624.342584594151, + -1633.9381012992287, + -3934.5000373545927, + -0.0009488368646931043, + 0.0011939611340494594, + 0.002501904206840408, + 5508.038472688262, + -312.087078831129, + -3935.211671603734, + -55370.2001106927, + 4392.356294892503, + 12129.437062327033, + -0.0062467922834912315, + -0.0008476741045342351, + -0.008014103032110143, + -2799.101374172226, + 7696.007718012602, + 931.6903604342415, + -7748.704279993084, + -3953.7875446200487, + -11398.211576383848, + 0.0021928505675532506, + 0.0007880786961322883, + 0.0012600453028426273, + -39542.36082540173, + -6188.549617614344, + 2494.8778974350403, + 0.0017706791913951747, + -0.0028939846192770347, + 0.0004986412386642769, + 4576.673934265038, + 8.907853368239288e-05, + 3711.9217186581586 + ], + "runtime_seconds": 0.03158902900031535, + "segments": 1, + "solution": [ + 3.301358996918997e-15, + 3.301358996918997e-15, + 3.021848852457616e-15, + -1.8382849568150714e-07, + 1.5311812062132577e-07, + -3.3998147906090466e-07, + 8.389826528086934e-15, + 4.948049740405547e-15, + 6.5815214126728756e-15, + 4.030342298062515e-15, + 4.030342298062515e-15, + 4.356759619636654e-15, + 5.742715414541292e-07, + -7.000061329274228e-08, + -4.6805192274477886e-07, + 9.687737208890511e-15, + 5.93250323098906e-15, + 7.154868103549755e-15, + 6.1962975384010765e-15, + 6.1962975384010765e-15, + 6.1962975384010765e-15, + -3.5018909549226435e-07, + 8.405990877538607e-08, + -5.22012810980876e-07, + 6.1962975384010765e-15, + 6.1962975384010765e-15, + 6.1962975384010765e-15, + 1.3569050585131626e-06, + 3.149385539075764e-07, + -7.191875980380103e-07, + 8.389826528086934e-15, + 8.389826528086934e-15, + 4.484550914652618e-15 + ], + "solver_configuration": { + "atol": 1e-12, + "id": "CG_GAMG", + "ksp": "cg", + "max_it": 20000, + "pc": "gamg", + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_ASM.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_ASM.json new file mode 100644 index 00000000..a0c4e773 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_ASM.json @@ -0,0 +1,254 @@ +{ + "candidate_id": "GMRES_ASM", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "GMRES_ASM", + "ksp": "GMRES", + "max_it": 20000, + "pc": "ASM", + "restart": 100, + "rtol": 1e-10 + }, + "candidate_id": "GMRES_ASM", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941499918294, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 5.820766091346741e-16, + "force_balance_relative": 6.468291535091174e-16, + "free_residual_relative": 4.531757568334861e-16, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 1, + "ksp_final_residual": 2.638671717502426e-22, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9ae1534ebb16ea89dbb3790bf3f5035bc7b22d8f5d600a2a8a3272bc39616484", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000000006, + 1.000444171950221e-11, + 2.637534635141492e-11 + ], + "reaction_vector": [ + -4624.344811729383, + -1633.9395263808715, + -3934.503150596894, + 5508.037382835441, + -312.0860613533987, + -3935.2129490099496, + -55370.20169512078, + 4392.354505800278, + 12129.438121487463, + -2799.1011082868104, + 7696.0092548773855, + 931.6916886928748, + -7748.703507735334, + -3953.7885677605504, + -11398.21222354707, + -39542.36021771605, + -6188.549605182833, + 2494.876807735196, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "residual": [ + -4624.344811729385, + -1633.939526380871, + -3934.503150596889, + 4.774847184307873e-12, + 0.0, + 0.0, + 5508.037382835441, + -312.0860613533987, + -3935.2129490099514, + -55370.20169512078, + 4392.354505800273, + 12129.438121487465, + 2.9103830456733704e-11, + -3.637978807091713e-12, + -2.7284841053187847e-12, + -2799.1011082868104, + 7696.0092548773855, + 931.6916886928748, + -7748.703507735334, + -3953.7885677605504, + -11398.212223547069, + 3.183231456205249e-12, + 0.0, + 0.0, + -39542.36021771606, + -6188.54960518283, + 2494.876807735196, + 7.275957614183426e-12, + -2.5011104298755527e-12, + -8.185452315956354e-12, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "runtime_seconds": 0.007309847999749763, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.838285034975211e-07, + 1.53118099829086e-07, + -3.3998149400449756e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806621e-07, + -7.000062236589675e-08, + -4.6805185420592706e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.50189143111459e-07, + 8.405987983202813e-08, + -5.220128295504757e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866549e-06, + 3.1493859502395237e-07, + -7.191876129222631e-07, + 0.0, + 0.0, + 0.0 + ], + "solver_configuration": { + "atol": 1e-12, + "id": "GMRES_ASM", + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_BJACOBI.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_BJACOBI.json new file mode 100644 index 00000000..a19b6203 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_BJACOBI.json @@ -0,0 +1,254 @@ +{ + "candidate_id": "GMRES_BJACOBI", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "GMRES_BJACOBI", + "ksp": "GMRES", + "max_it": 20000, + "pc": "BJACOBI", + "restart": 100, + "rtol": 1e-10 + }, + "candidate_id": "GMRES_BJACOBI", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941568635154, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 5.065231687694904e-08, + "force_balance_relative": 5.373954339011249e-08, + "free_residual_relative": 1.3229079873713173e-07, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 11, + "ksp_final_residual": 7.05860720845142e-14, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "7cfd4ad28872f9e999102b225a3dadfeaffa8b9511e0b32a8539da80ea9b932f", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.99831604317, + -0.005065231687694904, + 0.0006221756925697264 + ], + "reaction_vector": [ + -4624.340165167752, + -1633.9379577661643, + -3934.5041018633324, + 5508.038572030163, + -312.0886159496447, + -3935.2117532086104, + -55370.20210861431, + 4392.352072057518, + 12129.436309088345, + -2799.100025928034, + 7696.009180053501, + 931.6911152696184, + -7748.706119788896, + -3953.788610948361, + -11398.21270594282, + -39542.36262708922, + -6188.551132678538, + 2494.8784472503676, + 4576.6741585148775, + 0.0, + 3711.923311582125 + ], + "residual": [ + -4624.340165167751, + -1633.937957766164, + -3934.5041018633274, + -0.006247574492590502, + 0.0009755152841535164, + 0.0026342841374571435, + 5508.038572030163, + -312.0886159496449, + -3935.2117532086095, + -55370.20210861433, + 4392.352072057515, + 12129.436309088343, + 0.0023358691105386242, + 0.0018496924958526506, + -0.0032724019101806334, + -2799.100025928034, + 7696.009180053499, + 931.6911152696184, + -7748.706119788898, + -3953.7886109483607, + -11398.212705942813, + 0.0033449043404516487, + 0.000604337515142106, + -0.0016529779331904138, + -39542.36262708922, + -6188.551132678538, + 2494.8784472503685, + -0.0011171557853231207, + 0.001635686392774005, + 0.0016689200347173028, + 4576.6741585148775, + 0.0, + 3711.923311582125 + ], + "runtime_seconds": 0.00425476200052799, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.8382858304978144e-07, + 1.5311812822716412e-07, + -3.39981508918248e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.74271637669156e-07, + -7.000054773401812e-08, + -4.680519237667994e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5018902212975617e-07, + 8.405991855404929e-08, + -5.220128189810943e-07, + 0.0, + 0.0, + 0.0, + 1.3569049760415156e-06, + 3.149386945258915e-07, + -7.191875428580729e-07, + 0.0, + 0.0, + 0.0 + ], + "solver_configuration": { + "atol": 1e-12, + "id": "GMRES_BJACOBI", + "ksp": "gmres", + "max_it": 20000, + "pc": "bjacobi", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_GAMG.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_GAMG.json new file mode 100644 index 00000000..dd8f6feb --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation/small_GMRES_GAMG.json @@ -0,0 +1,254 @@ +{ + "candidate_id": "GMRES_GAMG", + "case": "mpi", + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "contract_sha256": "6b2a08244ad1203dd175c1311ddb2d268efcb4e3dfed222149df6362d3411e1d", + "result": { + "backend": "petsc4py_mpi_rank_local", + "candidate_configuration": { + "atol": 1e-12, + "id": "GMRES_GAMG", + "ksp": "GMRES", + "max_it": 20000, + "pc": "GAMG", + "restart": 100, + "rtol": 1e-10 + }, + "candidate_id": "GMRES_GAMG", + "converged_reason": 3, + "element_count": 3, + "energy": 0.04827941477589996, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 3.877804380863381e-08, + "force_balance_relative": 4.223863453439958e-08, + "free_residual_relative": 1.5604367874012226e-07, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 7, + "ksp_final_residual": 8.455143080806378e-14, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "7f1c4fa657f604f60cd4ba830cee412df3d183e052f56f342c84ae192e93abed", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.9983258789, + 3.121215871516826e-05, + 0.003877804380863381 + ], + "reaction_vector": [ + -4624.343526278719, + -1633.9390648054039, + -3934.5001484783907, + 5508.038888084191, + -312.0867849871088, + -3935.2118271518298, + -55370.20055413572, + 4392.35540523857, + 12129.437295287555, + -2799.1011375043377, + 7696.007926190502, + 931.6905801382347, + -7748.704898459898, + -3953.787653878849, + -11398.211499824076, + -39542.36116436115, + -6188.549910729208, + 2494.8778555410345, + 4576.674066776723, + 0.00011418365687433608, + 3711.921622291853 + ], + "residual": [ + -4624.343526278721, + -1633.9390648054036, + -3934.500148478387, + 0.0002149834594793884, + 0.0016373931593989255, + 0.0017328023684872605, + 5508.03888808419, + -312.0867849871089, + -3935.211827151829, + -55370.200554135736, + 4392.355405238564, + 12129.437295287558, + -0.005733717625844292, + -0.0007527095199293399, + -0.007909550689873868, + -2799.101137504338, + 7696.007926190502, + 931.6905801382345, + -7748.704898459896, + -3953.7876538788496, + -11398.211499824076, + 0.0020993102456259294, + 0.0015966772189131007, + 0.0018764624019240728, + -39542.361164361144, + -6188.549910729209, + 2494.8778555410354, + 0.0017453028121963143, + -0.0025125730176114303, + 0.0004224815493216738, + 4576.674066776723, + 0.00011418365687433608, + 3711.9216222918535 + ], + "runtime_seconds": 0.008222503999604669, + "segments": 1, + "solution": [ + 4.2317854520062746e-15, + 4.2317854520062746e-15, + 3.873500586857188e-15, + -1.838284885189785e-07, + 1.5311813289341264e-07, + -3.399814851847987e-07, + 1.0754342644816501e-14, + 6.3425652668471006e-15, + 8.436400461812676e-15, + 5.1662190993053535e-15, + 5.1662190993053535e-15, + 5.584631054506052e-15, + 5.742715420784546e-07, + -7.000059849294588e-08, + -4.680519198711426e-07, + 1.241804524188456e-14, + 7.60446861135342e-15, + 9.171334223234274e-15, + 7.942608423918503e-15, + 7.942608423918503e-15, + 7.942608423918503e-15, + -3.5018908465134954e-07, + 8.40599316239298e-08, + -5.220127918723421e-07, + 7.942608423918503e-15, + 7.942608423918503e-15, + 7.942608423918503e-15, + 1.356905066169425e-06, + 3.149385749873178e-07, + -7.191875923731572e-07, + 1.0754342644816501e-14, + 1.0754342644816501e-14, + 5.74843794241081e-15 + ], + "solver_configuration": { + "atol": 1e-12, + "id": "GMRES_GAMG", + "ksp": "gmres", + "max_it": 20000, + "pc": "gamg", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r1_ksp_remediation_contract.json b/qualification/0_2_8/wp13_01c_r1_ksp_remediation_contract.json new file mode 100644 index 00000000..43df57c8 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r1_ksp_remediation_contract.json @@ -0,0 +1,77 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-R1-KSP-REMEDIATION-001", + "work_package": "WP13-01C-R1", + "purpose": "Prospective bounded PETSc KSP/preconditioner remediation for the unchanged WP13-01C Scale-A mixed model.", + "creation_sha": "90c71e98d37036ba3fd9ca1975a4cb05ad17c0f2", + "original_campaign": { + "contract_id": "WP13-01C-PETSC-MPI-MIXED-RUNTIME-001", + "status": "FAIL_RUNTIME", + "ksp": "CG", + "pc": "JACOBI", + "scale_dof": 100023, + "petsc_reason": -3, + "preservation_required": true + }, + "environment": { + "strategy": "Dedicated Docker Linux + conda-forge", + "container_image": "qf-solver-wp13-01c-petsc:2026-09", + "python": "3.12.14", + "petsc": "3.25.5", + "petsc4py": "3.25.5", + "mpi": "MPICH 5.0.1", + "scalar": "float64", + "index": "int32" + }, + "model": { + "small_connected_control": {"segments": 1, "dof": 33, "tet4": 1, "wedge6": 1, "hex8": 1, "ranks": 2}, + "scale_a": {"segments": 5556, "dof": 100023, "tet4": 5556, "wedge6": 5556, "hex8": 5556, "ranks": 2}, + "scale_b": {"segments": 16667, "dof": 300021, "tet4": 16667, "wedge6": 16667, "hex8": 16667, "ranks": 2}, + "scale_c": {"segments": 55556, "dof": 1000023, "tet4": 55556, "wedge6": 55556, "hex8": 55556, "ranks": 2} + }, + "matrix_sanity_gates": { + "symmetry_relative_max": 1e-12, + "diagonal_min_exclusive": 0.0, + "negative_diagonal_count": 0, + "zero_diagonal_count": 0, + "nan_inf_count": 0, + "nullspace_detected": false + }, + "solver_candidates": [ + {"id": "CG_BJACOBI", "ksp": "CG", "pc": "BJACOBI", "rtol": 1e-10, "atol": 1e-12, "max_it": 20000}, + {"id": "CG_ASM", "ksp": "CG", "pc": "ASM", "rtol": 1e-10, "atol": 1e-12, "max_it": 20000}, + {"id": "CG_GAMG", "ksp": "CG", "pc": "GAMG", "rtol": 1e-10, "atol": 1e-12, "max_it": 20000}, + {"id": "GMRES_BJACOBI", "ksp": "GMRES", "pc": "BJACOBI", "rtol": 1e-10, "atol": 1e-12, "max_it": 20000, "restart": 100}, + {"id": "GMRES_ASM", "ksp": "GMRES", "pc": "ASM", "rtol": 1e-10, "atol": 1e-12, "max_it": 20000, "restart": 100}, + {"id": "GMRES_GAMG", "ksp": "GMRES", "pc": "GAMG", "rtol": 1e-10, "atol": 1e-12, "max_it": 20000, "restart": 100} + ], + "gates": { + "small_displacement_relative_max": 1e-10, + "small_reaction_relative_max": 1e-10, + "small_energy_relative_max": 1e-10, + "small_force_balance_relative_max": 1e-10, + "small_free_residual_relative_max": 1e-10, + "scale_converged_reason_positive": true, + "scale_free_residual_relative_max": 1e-8, + "scale_force_balance_relative_max": 1e-8, + "replay_relative_max": 1e-12, + "replay_iterations_identical": true, + "mandatory_global_gather": false, + "silent_fallback": false + }, + "selection_policy": ["correctness", "robustness", "bounded runtime", "architecture simplicity"], + "failure_policy": { + "automatic_solver_fallback": false, + "failure_is_recorded_per_candidate": true, + "scale_b_requires_scale_a_pass": true, + "scale_c_requires_scale_b_stability": true + }, + "scope": { + "numerical_source_changes_allowed": false, + "element_formulation_changes_allowed": false, + "bc_or_load_physics_changes_allowed": false, + "maturity_registry_changes_allowed": false, + "historical_0_2_7_evidence_changes_allowed": false, + "original_wp13_01c_evidence_rewrite_allowed": false + } +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/evidence.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/evidence.json new file mode 100644 index 00000000..d4a3a884 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/evidence.json @@ -0,0 +1,17093 @@ +{ + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "element_formulation_changed": false, + "first_failure_scale": "L1", + "fix_required": true, + "fix_scope": "WP13-01C-R3: predeclare a physical-residual-aware convergence policy or mapped scaled tolerance; retain the same FEM model and gates.", + "historical_0_2_7_evidence_changed": false, + "ladder": [ + { + "dof": 1005, + "force_balance_relative": 6.067020343260995e-06, + "id": "L1", + "ksp_final_residual": 6.751379923592327e-13, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ranks": 2, + "reaction_direct_distributed_relative": 1.815736942768972e-14, + "scaled_to_physical_reconstruction_relative": 5.484232985716252e-09, + "segments": 55, + "true_relative_residual": 5.3186827883400645e-06 + }, + { + "dof": 10005, + "force_balance_relative": 9.14912669413499e-05, + "id": "L2", + "ksp_final_residual": 5.004249671391902e-13, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ranks": 2, + "reaction_direct_distributed_relative": 1.797909186006857e-13, + "scaled_to_physical_reconstruction_relative": 1.5817022497700172e-07, + "segments": 555, + "true_relative_residual": 1.39509528353589e-05 + }, + { + "dof": 30003, + "force_balance_relative": 0.00012654850008957127, + "id": "L3", + "ksp_final_residual": 2.038180775879955e-13, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ranks": 2, + "reaction_direct_distributed_relative": 6.199969909691904e-13, + "scaled_to_physical_reconstruction_relative": 8.234634978104426e-07, + "segments": 1666, + "true_relative_residual": 8.857479928189067e-06 + }, + { + "dof": 100023, + "force_balance_relative": 0.0015795656017068575, + "id": "L4", + "ksp_final_residual": 3.5206048129653935e-13, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ranks": 2, + "reaction_direct_distributed_relative": 2.166528278631566e-12, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "segments": 5556, + "true_relative_residual": 2.9798810002306444e-05 + } + ], + "maturity_changed": false, + "numerical_source_changed": false, + "operator_comparison": { + "rank_1": { + "operator_equivalence": false, + "operator_errors": { + "diagonal_weighted": 0.0, + "frobenius_norm": 2.898128589870306e-14, + "row_sum_l2": 0.004377502247173908, + "row_sum_weighted": 4.15080110838046, + "trace": 0.0 + }, + "petsc_nnz": 34839, + "rhs_equivalence": true, + "rhs_errors": { + "rhs_l2": 0.0, + "rhs_sum": 0.0, + "rhs_weighted": 0.0 + }, + "serial_nnz": 32508 + }, + "rank_2": { + "operator_equivalence": false, + "operator_errors": { + "diagonal_weighted": 2.0542449742500107e-16, + "frobenius_norm": 1.7743644427777385e-14, + "row_sum_l2": 0.0040470616548694965, + "row_sum_weighted": 4.709816055677326, + "trace": 0.0 + }, + "petsc_nnz": 34839, + "rhs_equivalence": true, + "rhs_errors": { + "rhs_l2": 0.0, + "rhs_sum": 0.0, + "rhs_weighted": 0.0 + }, + "serial_nnz": 32508 + } + }, + "original_wp13_01c": { + "backend": "petsc4py_mpi_rank_local", + "converged_reason": -3, + "element_count": 16668, + "failure": { + "command": "mpiexec -n 2 python scripts/run_wp13_01c_final_runtime.py --mode mpi --segments 5556 --output qualification/0_2_8/wp13_01c_petsc_mpi_mixed_runtime/scale_a.json", + "exception_type": "RuntimeError", + "execution_path": "_petsc_case", + "message": "PETSc CG/Jacobi did not converge: reason=-3", + "observed_after": "real PETSc Mat/Vec assembly and KSP execution", + "qualification_status": "FAIL_RUNTIME" + }, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "free_residual_relative": null, + "iterations": null, + "ksp_final_residual": null, + "ndof": 100023, + "rank_count": 2, + "runtime_seconds": null, + "segments": 5556, + "status": "FAIL_RUNTIME" + }, + "partition_dependence": { + "1": { + "operator_frobenius_relative": 0.0, + "reaction_resultant": [ + -100008.85663820579, + -2.2910538314754376, + 0.13248358655255288 + ], + "rhs_relative": 0.0, + "true_residual": 1.3950952850394422e-05 + }, + "2": { + "operator_frobenius_relative": 3.423390978650619e-13, + "reaction_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "rhs_relative": 0.0, + "true_residual": 1.39509528353589e-05 + }, + "3": { + "operator_frobenius_relative": 3.065928466823647e-13, + "reaction_resultant": [ + -100014.52110150924, + -13.661230085540865, + -15.093355890003295 + ], + "rhs_relative": 0.0, + "true_residual": 0.00011126328501752024 + } + }, + "r1_status": "STILL_FAIL_RUNTIME", + "root_cause": "KSP_NORM_MISMATCH", + "root_cause_evidence": { + "distributed_integrity_pass": true, + "ksp_norm_is_scaled_constrained": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "physical_gate_failed": true, + "physical_residual_is_original_k_u_minus_f": true, + "scaled_to_physical_reconstruction_relative_to_free_residual": 2.3659408275098885e-06, + "scaled_to_physical_reconstruction_relative_to_load": 7.050222119566685e-11 + }, + "scale_a": { + "assembly_seconds": 26.128893146000337, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.520604743200915e-13, + "final_reported_residual": 3.5206048129653935e-13, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 928366.817760169, + "free_dof_residual_l2": 2.107094062392041, + "ghost_interface_residual_l2": 6426.144258689203, + "owned_dof_residual_l2": 928366.8177625602, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5985034317490.587, + "scaled_reconstructed_free_residual_l2": 2.107094043561224, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "true_relative_residual": 2.9798810002306444e-05, + "true_residual_inf": 26027.55057502538, + "true_residual_l2": 928366.8177625602 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100137.02842943446, + -78.57132343319415, + 0.17751667927041126 + ], + "distributed_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.166528278631566e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206048129653935e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 2.559438049000164, + "segments": 5556, + "solution": null, + "solve_seconds": 0.6739833259998704, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1, + "status": "PASS_DIAGNOSTIC_FIX_REQUIRED" +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L1.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L1.json new file mode 100644 index 00000000..f07d38df --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L1.json @@ -0,0 +1,423 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 0.2419023170004948, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 669, + "fixed_dof_count": 669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 6.751379902026162e-13, + "final_reported_residual": 6.751379923592327e-13, + "initial_residual": 1.9452432140338692e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2461999576923085e+18, + "frobenius_norm": 158507459470785.34, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 66850000.0, + "row_sum_l2": 0.020654701480777155, + "row_sum_weighted": -37.994237209487785, + "shape": [ + 1005, + 1005 + ], + "trace": 2763781730769231.5 + }, + "physical_residual": { + "constrained_dof_residual_l2": 104411.7301493801, + "free_dof_residual_l2": 0.3760876666615435, + "ghost_interface_residual_l2": 7241.187273056437, + "owned_dof_residual_l2": 104411.73015005744, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 557053033480.3494, + "scaled_reconstructed_free_residual_l2": 0.3760876670339852, + "scaled_to_physical_reconstruction_relative": 5.484232985716252e-09, + "true_relative_residual": 5.3186827883400645e-06, + "true_residual_inf": 24490.189497816027, + "true_residual_l2": 104411.73015005744 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100000.34210622078, + -0.10423908331108578, + 0.4900866301049973 + ], + "distributed_resultant": [ + -100000.34210622124, + -0.10423908332177234, + 0.4900866304542433 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.815736942768972e-14 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 165, + "energy": 0.06849241844232992, + "family_counts": { + "HEX8": 55, + "TET4": 55, + "WEDGE6": 55 + }, + "force_balance_component_relative": 4.900866304542433e-06, + "force_balance_relative": 6.067020343260995e-06, + "free_residual_relative": 5.3186827883400645e-06, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 10, + "ksp_final_residual": 6.751379923592327e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 11231043123543.18, + "diagonal_min": 370437062937.0627, + "diagonal_ratio_indicator": 30.318357009140136, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.377507702985607e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "a176cd19bbd4af864619b8a56bc95c148fc2341c671c8d3c4b693094fa1bdc95", + "ndof": 1005, + "offprocess_insertion": true, + "partition": { + "digest": "f55c1a51ecfda4488df770d1c78030b4e59bcbdcfc1573cb5f6bcedda860797e", + "records": [ + { + "family_counts": { + "HEX8": 27, + "TET4": 28, + "WEDGE6": 27 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 168, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ], + "owned_nodes": 168, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 28, + "TET4": 27, + "WEDGE6": 28 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 172, + "owned_elements": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ], + "owned_nodes": 167, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 20871.0, + "nz_unneeded": 0.0, + "nz_used": 20871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 13968.0, + "nz_unneeded": 0.0, + "nz_used": 13968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 34839.0, + "nz_used_sum": 34839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 511, + "sent_row_records": 504, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.34210622124, + -0.10423908332177234, + 0.4900866304542433 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.022949313000935945, + "segments": 55, + "solution": null, + "solve_seconds": 0.002792121000311454, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L2.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L2.json new file mode 100644 index 00000000..4dcc4381 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L2.json @@ -0,0 +1,1923 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 2.84322413100017, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 5.004249670973429e-13, + "final_reported_residual": 5.004249671391902e-13, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916486.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6256275200078484, + "row_sum_weighted": 36537.42976676743, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296509.54931246024, + "free_dof_residual_l2": 0.9864813353895971, + "ghost_interface_residual_l2": 6495.536248268561, + "owned_dof_residual_l2": 296509.5493141012, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1971287206210.1035, + "scaled_reconstructed_free_residual_l2": 0.9864813340883636, + "scaled_to_physical_reconstruction_relative": 1.5817022497700172e-07, + "true_relative_residual": 1.39509528353589e-05, + "true_residual_inf": 25873.38103754446, + "true_residual_l2": 296509.5493141012 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100008.85663817644, + -2.2910538776516205, + 0.13248367935739225 + ], + "distributed_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.797909186006857e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06845069231691114, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.856638157812995e-05, + "force_balance_relative": 9.14912669413499e-05, + "free_residual_relative": 1.39509528353589e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 9, + "ksp_final_residual": 5.004249671391902e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.016618690401604e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "853a74e45dc628c387ba0865f8e50628c8a932f91127e03aca667abe4d560a20", + "records": [ + { + "family_counts": { + "HEX8": 277, + "TET4": 278, + "WEDGE6": 277 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1668, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831 + ], + "owned_nodes": 1668, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 278, + "TET4": 277, + "WEDGE6": 278 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1672, + "owned_elements": [ + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1667, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 209871.0, + "nz_unneeded": 0.0, + "nz_used": 209871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139968.0, + "nz_unneeded": 0.0, + "nz_used": 139968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 5011, + "sent_row_records": 5004, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.19229500700021163, + "segments": 555, + "solution": null, + "solve_seconds": 0.025048993999007507, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L3.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L3.json new file mode 100644 index 00000000..cf762761 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L3.json @@ -0,0 +1,5256 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 7.853252827000688, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 20001, + "fixed_dof_count": 20001, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 2.0381807845840247e-13, + "final_reported_residual": 2.038180775879955e-13, + "initial_residual": 3.537268933044116e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 3.40831315231178e+22, + "frobenius_norm": 2.6483998910535516e+16, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 2000050000.0, + "row_sum_l2": 3.735430276240387, + "row_sum_weighted": -784424.9081073701, + "shape": [ + 30003, + 30003 + ], + "trace": 2.534475582692307e+18 + }, + "physical_residual": { + "constrained_dof_residual_l2": 509576.35379674146, + "free_dof_residual_l2": 0.6263184121446224, + "ghost_interface_residual_l2": 6443.583315400689, + "owned_dof_residual_l2": 509576.3537971263, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 3072928660482.623, + "scaled_reconstructed_free_residual_l2": 0.62631841995906, + "scaled_to_physical_reconstruction_relative": 8.234634978104426e-07, + "true_relative_residual": 8.857479928189067e-06, + "true_residual_inf": 25978.88670729287, + "true_residual_l2": 509576.3537971263 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100011.85735347976, + -4.378842793975082, + 0.6116627956398588 + ], + "distributed_resultant": [ + -100011.8573535729, + -4.378842700857149, + 0.6116629772477609 + ], + "duplication": false, + "loss": false, + "relative_difference": 6.199969909691904e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 4998, + "energy": 0.06844864263734066, + "family_counts": { + "HEX8": 1666, + "TET4": 1666, + "WEDGE6": 1666 + }, + "force_balance_component_relative": 0.00011857353572893771, + "force_balance_relative": 0.00012654850008957127, + "free_residual_relative": 8.857479928189067e-06, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 9, + "ksp_final_residual": 2.038180775879955e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 340141728614584.0, + "diagonal_min": 11213469618616.336, + "diagonal_ratio_indicator": 30.333317000287654, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.897443999277557e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "6d05cb7276c7164971e32e90eadfde8b20180e474e5f1d9e31794cb1d9c6f81c", + "ndof": 30003, + "offprocess_insertion": true, + "partition": { + "digest": "a5a35b7fdc4c319881d82c5593a04cfec6ae0ec9c0bf5a363b2f4cb861855212", + "records": [ + { + "family_counts": { + "HEX8": 833, + "TET4": 833, + "WEDGE6": 833 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 5003, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498 + ], + "owned_nodes": 5003, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 833, + "TET4": 833, + "WEDGE6": 833 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 5003, + "owned_elements": [ + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997 + ], + "owned_nodes": 4998, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 629829.0, + "nz_unneeded": 0.0, + "nz_used": 629829.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 419940.0, + "nz_unneeded": 0.0, + "nz_used": 419940.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 1049769.0, + "nz_used_sum": 1049769.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 15010, + "sent_row_records": 15009, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100011.8573535729, + -4.378842700857149, + 0.6116629772477609 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.729554747000293, + "segments": 1666, + "solution": null, + "solve_seconds": 0.19595605900030932, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L4.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L4.json new file mode 100644 index 00000000..b7dd814b --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/ladder_L4.json @@ -0,0 +1,16926 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 26.128893146000337, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.520604743200915e-13, + "final_reported_residual": 3.5206048129653935e-13, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 928366.817760169, + "free_dof_residual_l2": 2.107094062392041, + "ghost_interface_residual_l2": 6426.144258689203, + "owned_dof_residual_l2": 928366.8177625602, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5985034317490.587, + "scaled_reconstructed_free_residual_l2": 2.107094043561224, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "true_relative_residual": 2.9798810002306444e-05, + "true_residual_inf": 26027.55057502538, + "true_residual_l2": 928366.8177625602 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100137.02842943446, + -78.57132343319415, + 0.17751667927041126 + ], + "distributed_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.166528278631566e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206048129653935e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 2.559438049000164, + "segments": 5556, + "solution": null, + "solve_seconds": 0.6739833259998704, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_petsc_r1.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_petsc_r1.json new file mode 100644 index 00000000..d90603df --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_petsc_r1.json @@ -0,0 +1,397 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 0.5566806749993702, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": false, + "owned_element_contributions": 55, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": false, + "owned_element_contributions": 55, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": false, + "owned_element_contributions": 55, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 669, + "fixed_dof_count": 669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 6.751379924433359e-13, + "final_reported_residual": 6.751379929184551e-13, + "initial_residual": 1.9452432140338692e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2461999576923082e+18, + "frobenius_norm": 158507459470783.56, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 66850000.0, + "row_sum_l2": 0.020985142073081567, + "row_sum_weighted": -34.274441982437004, + "shape": [ + 1005, + 1005 + ], + "trace": 2763781730769231.5 + }, + "physical_residual": { + "constrained_dof_residual_l2": 104411.73014941008, + "free_dof_residual_l2": 0.3760876683393103, + "ghost_interface_residual_l2": 0.0, + "owned_dof_residual_l2": 104411.7301500874, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 557053035504.0101, + "scaled_reconstructed_free_residual_l2": 0.3760876689077741, + "scaled_to_physical_reconstruction_relative": 5.511326398340426e-09, + "true_relative_residual": 5.31868281206727e-06, + "true_residual_inf": 24490.18949781952, + "true_residual_l2": 104411.7301500874 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100000.34210622446, + -0.10423908148368355, + 0.4900866389325529 + ], + "distributed_resultant": [ + -100000.34210622417, + -0.10423908140955973, + 0.49008663660424645 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.6339407679963522e-14 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 165, + "energy": 0.06849241844233496, + "family_counts": { + "HEX8": 55, + "TET4": 55, + "WEDGE6": 55 + }, + "force_balance_component_relative": 4.9008663660424644e-06, + "force_balance_relative": 6.06702040614764e-06, + "free_residual_relative": 5.31868281206727e-06, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 10, + "ksp_final_residual": 6.751379929184551e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 11231043123543.18, + "diagonal_min": 370437062937.0627, + "diagonal_ratio_indicator": 30.318357009140136, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 7.186033629650901e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "a176cd19bbd4af864619b8a56bc95c148fc2341c671c8d3c4b693094fa1bdc95", + "ndof": 1005, + "offprocess_insertion": false, + "partition": { + "digest": "c2f78293a1025c046f379c7fabe837cd922f34bc013629732c96faaf9797964e", + "records": [ + { + "family_counts": { + "HEX8": 55, + "TET4": 55, + "WEDGE6": 55 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 335, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ], + "owned_nodes": 335, + "rank": 0 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 34839.0, + "nz_unneeded": 0.0, + "nz_used": 34839.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 34839.0, + "nz_used_sum": 34839.0 + }, + "max_diag_nnz": 48, + "max_offdiag_nnz": 0, + "owned_row_pattern_complete": true, + "received_row_records": 1005, + "sent_row_records": 1005, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 1, + "reaction_resultant": [ + -100000.34210622417, + -0.10423908140955973, + 0.49008663660424645 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.0255439459997433, + "segments": 55, + "solution": null, + "solve_seconds": 0.0016577330006839475, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_petsc_r2.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_petsc_r2.json new file mode 100644 index 00000000..5153e3a4 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_petsc_r2.json @@ -0,0 +1,423 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 0.24895013400055177, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 669, + "fixed_dof_count": 669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 6.751379902026162e-13, + "final_reported_residual": 6.751379923592327e-13, + "initial_residual": 1.9452432140338692e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2461999576923085e+18, + "frobenius_norm": 158507459470785.34, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 66850000.0, + "row_sum_l2": 0.020654701480777155, + "row_sum_weighted": -37.994237209487785, + "shape": [ + 1005, + 1005 + ], + "trace": 2763781730769231.5 + }, + "physical_residual": { + "constrained_dof_residual_l2": 104411.7301493801, + "free_dof_residual_l2": 0.3760876666615435, + "ghost_interface_residual_l2": 7241.187273056437, + "owned_dof_residual_l2": 104411.73015005744, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 557053033480.3494, + "scaled_reconstructed_free_residual_l2": 0.3760876670339852, + "scaled_to_physical_reconstruction_relative": 5.484232985716252e-09, + "true_relative_residual": 5.3186827883400645e-06, + "true_residual_inf": 24490.189497816027, + "true_residual_l2": 104411.73015005744 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100000.34210622078, + -0.10423908331108578, + 0.4900866301049973 + ], + "distributed_resultant": [ + -100000.34210622124, + -0.10423908332177234, + 0.4900866304542433 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.815736942768972e-14 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 165, + "energy": 0.06849241844232992, + "family_counts": { + "HEX8": 55, + "TET4": 55, + "WEDGE6": 55 + }, + "force_balance_component_relative": 4.900866304542433e-06, + "force_balance_relative": 6.067020343260995e-06, + "free_residual_relative": 5.3186827883400645e-06, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 10, + "ksp_final_residual": 6.751379923592327e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 11231043123543.18, + "diagonal_min": 370437062937.0627, + "diagonal_ratio_indicator": 30.318357009140136, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.377507702985607e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "a176cd19bbd4af864619b8a56bc95c148fc2341c671c8d3c4b693094fa1bdc95", + "ndof": 1005, + "offprocess_insertion": true, + "partition": { + "digest": "f55c1a51ecfda4488df770d1c78030b4e59bcbdcfc1573cb5f6bcedda860797e", + "records": [ + { + "family_counts": { + "HEX8": 27, + "TET4": 28, + "WEDGE6": 27 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 168, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ], + "owned_nodes": 168, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 28, + "TET4": 27, + "WEDGE6": 28 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 172, + "owned_elements": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ], + "owned_nodes": 167, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 20871.0, + "nz_unneeded": 0.0, + "nz_used": 20871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 13968.0, + "nz_unneeded": 0.0, + "nz_used": 13968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 34839.0, + "nz_used_sum": 34839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 511, + "sent_row_records": 504, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.34210622124, + -0.10423908332177234, + 0.4900866304542433 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.02249730099902081, + "segments": 55, + "solution": null, + "solve_seconds": 0.0026400120004836936, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_serial.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_serial.json new file mode 100644 index 00000000..b5be5afd --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/operator_serial.json @@ -0,0 +1,25 @@ +{ + "bc": { + "fixed_dof_count": 669, + "prescribed_values": "all_zero" + }, + "case": "serial_operator_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "operator_metrics": { + "diagonal_weighted": 1.2461999576923082e+18, + "frobenius_norm": 158507459470788.16, + "nnz": 32508, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 66850000.0, + "row_sum_l2": 0.01660763982590766, + "row_sum_weighted": -6.654196359217167, + "shape": [ + 1005, + 1005 + ], + "trace": 2763781730769231.5 + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r1.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r1.json new file mode 100644 index 00000000..c631435c --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r1.json @@ -0,0 +1,1897 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 4.47619634900002, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": false, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": false, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": false, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 5.00424966747041e-13, + "final_reported_residual": 5.004249671220179e-13, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326905e+21, + "frobenius_norm": 5091442989918229.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6479775403034599, + "row_sum_weighted": 116181.09954134608, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296509.5493112087, + "free_dof_residual_l2": 0.9864813364527691, + "ghost_interface_residual_l2": 0.0, + "owned_dof_residual_l2": 296509.54931284965, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1971287208402.2874, + "scaled_reconstructed_free_residual_l2": 0.9864813357014371, + "scaled_to_physical_reconstruction_relative": 1.5863551868878026e-07, + "true_relative_residual": 1.3950952850394422e-05, + "true_residual_inf": 25873.38103752304, + "true_residual_l2": 296509.54931284965 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100008.85663819555, + -2.2910538259893656, + 0.13248343009036034 + ], + "distributed_resultant": [ + -100008.85663820579, + -2.2910538314754376, + 0.13248358655255288 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.737230487320781e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06845069231700238, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.85663820579066e-05, + "force_balance_relative": 9.149126727054059e-05, + "free_residual_relative": 1.3950952850394422e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 9, + "ksp_final_residual": 5.004249671220179e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.2, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.33318616008825, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 7.247783725039708e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": false, + "partition": { + "digest": "ed81f30e105d80d295840a577fdbc92a835d281e207084e2dd9915d1993472f5", + "records": [ + { + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 3335, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 3335, + "rank": 0 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 349839.0, + "nz_unneeded": 0.0, + "nz_used": 349839.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 48, + "max_offdiag_nnz": 0, + "owned_row_pattern_complete": true, + "received_row_records": 10005, + "sent_row_records": 10005, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 1, + "reaction_resultant": [ + -100008.85663820579, + -2.2910538314754376, + 0.13248358655255288 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.264726987999893, + "segments": 555, + "solution": null, + "solve_seconds": 0.02354638500037254, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r2.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r2.json new file mode 100644 index 00000000..2f7e366b --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r2.json @@ -0,0 +1,1923 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 2.7594244569991133, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 5.004249670973429e-13, + "final_reported_residual": 5.004249671391902e-13, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916486.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6256275200078484, + "row_sum_weighted": 36537.42976676743, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296509.54931246024, + "free_dof_residual_l2": 0.9864813353895971, + "ghost_interface_residual_l2": 6495.536248268561, + "owned_dof_residual_l2": 296509.5493141012, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1971287206210.1035, + "scaled_reconstructed_free_residual_l2": 0.9864813340883636, + "scaled_to_physical_reconstruction_relative": 1.5817022497700172e-07, + "true_relative_residual": 1.39509528353589e-05, + "true_residual_inf": 25873.38103754446, + "true_residual_l2": 296509.5493141012 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100008.85663817644, + -2.2910538776516205, + 0.13248367935739225 + ], + "distributed_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.797909186006857e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06845069231691114, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.856638157812995e-05, + "force_balance_relative": 9.14912669413499e-05, + "free_residual_relative": 1.39509528353589e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 9, + "ksp_final_residual": 5.004249671391902e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.016618690401604e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "853a74e45dc628c387ba0865f8e50628c8a932f91127e03aca667abe4d560a20", + "records": [ + { + "family_counts": { + "HEX8": 277, + "TET4": 278, + "WEDGE6": 277 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1668, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831 + ], + "owned_nodes": 1668, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 278, + "TET4": 277, + "WEDGE6": 278 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1672, + "owned_elements": [ + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1667, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 209871.0, + "nz_unneeded": 0.0, + "nz_used": 209871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139968.0, + "nz_unneeded": 0.0, + "nz_used": 139968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 5011, + "sent_row_records": 5004, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.18782971000109683, + "segments": 555, + "solution": null, + "solve_seconds": 0.02479018099984387, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r3.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r3.json new file mode 100644 index 00000000..282e7ed9 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic/partition_r3.json @@ -0,0 +1,1949 @@ +{ + "case": "petsc_mpi_diagnostic", + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "contract_sha256": "a6dd2b88f8b12947b1b7b42053f6956cab74e6d6b4b9c1b3d061ff6d0c793dca", + "result": { + "assembly_seconds": 3.0161767059998965, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.827263937746645e-12, + "final_reported_residual": 9.72545115582523e-13, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916668.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6222115524426189, + "row_sum_weighted": 34557.92515433872, + "shape": [ + 10005, + 10005 + ], + "trace": 2.812717945512817e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296454.3400904227, + "free_dof_residual_l2": 7.867502333298017, + "ghost_interface_residual_l2": 10006.373218345281, + "owned_dof_residual_l2": 296454.3401948192, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 8089601404851.679, + "scaled_reconstructed_free_residual_l2": 7.867502338504247, + "scaled_to_physical_reconstruction_relative": 1.998520125710327e-08, + "true_relative_residual": 0.00011126328501752024, + "true_residual_inf": 25871.133197602816, + "true_residual_l2": 296454.3401948192 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100014.52110151529, + -13.661230083542705, + -15.093355785695167 + ], + "distributed_resultant": [ + -100014.52110150924, + -13.661230085540865, + -15.093355890003295 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.8199809177483845e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06843337986393928, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 0.00015093355890003296, + "force_balance_relative": 0.00025006019045699856, + "free_residual_relative": 0.00011126328501752024, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 43, + "ksp_final_residual": 9.72545115582523e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.120194663568885e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "73325c260a8dda1a4c68b6b3a0bf977303ee5814bdffa993728bcf34a1859d00", + "records": [ + { + "family_counts": { + "HEX8": 185, + "TET4": 185, + "WEDGE6": 185 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1115, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554 + ], + "owned_nodes": 1115, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 185, + "TET4": 185, + "WEDGE6": 185 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1115, + "owned_elements": [ + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109 + ], + "owned_nodes": 1110, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 185, + "TET4": 185, + "WEDGE6": 185 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1115, + "owned_elements": [ + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1110, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139983.0, + "nz_unneeded": 0.0, + "nz_used": 139983.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 129828.0, + "nz_unneeded": 0.0, + "nz_used": 129828.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 80028.0, + "nz_unneeded": 0.0, + "nz_used": 80028.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 34, + "owned_row_pattern_complete": true, + "received_row_records": 3349, + "sent_row_records": 3345, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -100014.52110150924, + -13.661230085540865, + -15.093355890003295 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.3627598940001917, + "segments": 555, + "solution": null, + "solve_seconds": 0.10744551700008742, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic_contract.json b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic_contract.json new file mode 100644 index 00000000..61cc925c --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r2_physical_residual_diagnostic_contract.json @@ -0,0 +1,76 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-R2-PHYSICAL-RESIDUAL-DIAGNOSTIC-001", + "work_package": "WP13-01C-R2", + "creation_sha": "5800df2a88cf744caed15353e3291aecfacf556a", + "purpose": "Diagnose the defined difference between PETSc's scaled constrained KSP norm and the physical K*u-F residual without tuning the solver.", + "historical_preservation": { + "wp13_01c_status": "FAIL_RUNTIME", + "wp13_01c_r1_status": "STILL_FAIL_RUNTIME", + "rewrite_historical_evidence": false + }, + "environment": { + "strategy": "Dedicated Docker Linux + conda-forge", + "container_image": "qf-solver-wp13-01c-petsc:2026-09", + "petsc": "3.25.5", + "petsc4py": "3.25.5", + "mpi": "MPICH 5.0.1" + }, + "frozen_scale_a": { + "segments": 5556, + "dof": 100023, + "tet4": 5556, + "wedge6": 5556, + "hex8": 5556, + "ranks": 2, + "mesh_materials_bc_loads_partition_scaling_unchanged": true + }, + "diagnostic_solver": { + "ksp": "GMRES", + "pc": "ASM", + "rtol": 1e-10, + "atol": 1e-12, + "dtol": 10000.0, + "max_it": 20000, + "restart": 100, + "automatic_fallback": false + }, + "ladder": [ + {"id": "L1", "segments": 55, "dof": 1005, "ranks": 2}, + {"id": "L2", "segments": 555, "dof": 10005, "ranks": 2}, + {"id": "L3", "segments": 1666, "dof": 30003, "ranks": 2}, + {"id": "L4", "segments": 5556, "dof": 100023, "ranks": 2} + ], + "partition_dependence": {"segments": 555, "dof": 10005, "ranks": [1, 2, 3]}, + "operator_comparison": {"segments": 55, "dof": 1005, "ranks": [1, 2], "serial_reference": true}, + "diagnostic_gates": { + "scaled_to_physical_residual_reconstruction_relative_max": 1e-10, + "physical_reference_residual_relative_max": 1e-8, + "physical_reference_force_balance_relative_max": 1e-8, + "constrained_scaled_symmetry_relative_max": 1e-12, + "negative_diagonal_count": 0, + "zero_diagonal_count": 0, + "nan_inf_count": 0, + "assembly_contribution_count_exact": true, + "load_difference_abs_max": 0.0, + "bc_row_difference": 0, + "bc_rhs_difference_abs_max": 0.0, + "reaction_direct_distributed_relative_max": 1e-10, + "ghost_owned_scatter_difference_abs_max": 0.0, + "operator_scalar_relative_max": 1e-10 + }, + "scope": { + "new_ksp_pc_search": false, + "solver_tuning": false, + "fem_formulation_change": false, + "mesh_material_bc_load_change": false, + "numerical_scaling_change": false, + "maturity_change": false, + "historical_0_2_7_evidence_change": false, + "public_claim": false + }, + "fix_policy": { + "diagnostic_only": true, + "fix_requires_new_work_package": "WP13-01C-R3" + } +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/evidence.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/evidence.json new file mode 100644 index 00000000..3aa00848 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/evidence.json @@ -0,0 +1,34292 @@ +{ + "blockers": [ + "Scale-A physical residual or force-balance gate remains unsatisfied under the frozen policy." + ], + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "element_formulation_changed": false, + "failure_contract": { + "cases": [ + { + "actual_input": { + "residual": [ + 0.0, + "NaN" + ], + "runtime_encoding": "float('nan')" + }, + "actual_input_digest": "7c550475d02bf58d0bd05f644de74c8c86f518c9ac4f348d2a8df832bc87ec5b", + "case_id": "physical_residual_callback_failure", + "execution_path": "__main__.", + "expected_exception_type": "ValueError", + "expected_message_pattern": "non-finite or malformed residual", + "message_match": true, + "observed_exception_type": "ValueError", + "observed_execution_function": "physical_residual_callback", + "observed_message": "Physical residual callback received a non-finite or malformed residual.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "diagonal_factor": [ + 1.0, + 1.0 + ], + "uniform_factor": 0.0 + }, + "actual_input_digest": "ca964a874f6ca80d6dd4dfe2fac43e37c439b6a6e89d2639dd9995afae4a4140", + "case_id": "scaling_map_inconsistency", + "execution_path": "__main__.", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "scaling map is inconsistent", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "validate_scaling_map", + "observed_message": "Physical scaling map is inconsistent.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "residual": [ + "Infinity" + ], + "runtime_encoding": "float('inf')" + }, + "actual_input_digest": "cf7cb45a442a23ac41e690a2a021be73aa8c849cf6bde05be3d7b011120cb7f2", + "case_id": "nan_residual", + "execution_path": "__main__.", + "expected_exception_type": "ValueError", + "expected_message_pattern": "non-finite or malformed residual", + "message_match": true, + "observed_exception_type": "ValueError", + "observed_execution_function": "physical_residual_callback", + "observed_message": "Physical residual callback received a non-finite or malformed residual.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "reduced_value": "NaN", + "runtime_encoding": "float('nan')" + }, + "actual_input_digest": "9447e6809f6375a8c8e270aa0bebbca774b6eead981c90236da4f2d6b5fe3ad4", + "case_id": "invalid_global_reduction", + "execution_path": "__main__.", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "global reduction is invalid", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "validate_global_reduction", + "observed_message": "Physical residual global reduction is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "ksp": "bicgstab", + "pc": "asm" + }, + "actual_input_digest": "6ddd1d7321724b43259c68672b03227df2a8854e5d012668520a821b722cfdba", + "case_id": "unsupported_ksp_path", + "execution_path": "__main__.", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "unsupported physical convergence KSP path", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "validate_ksp_path", + "observed_message": "Unsupported physical convergence KSP path.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "expected_dof": 33, + "shape": [ + 33, + 32 + ] + }, + "actual_input_digest": "8bb02d9f1fbf188f2445721f2391f4c2146a3e046ceadd73f01705ada28896c2", + "case_id": "malformed_physical_residual_operator", + "execution_path": "__main__.", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "malformed physical residual operator shape", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "validate_physical_operator", + "observed_message": "Malformed physical residual operator shape.", + "pass": true, + "path_match": true, + "type_match": true + } + ], + "executed": 6, + "pass": 6, + "required": 6, + "silent_fallback": false, + "status": "PASS" + }, + "historical_0_2_7_evidence_changed": false, + "historical_status": { + "original_wp13_01c": "FAIL_RUNTIME", + "r1": "STILL_FAIL_RUNTIME", + "r2": "PASS_DIAGNOSTIC_FIX_REQUIRED" + }, + "maturity_changed": false, + "numerical_source_changed": false, + "one_million_dof_status": "NOT_RUN_SCALE_A_FAIL", + "partition_consistency": false, + "physical_residual_definition": { + "definition": "r_phys = K_original_physical*u_physical - F_original_physical on free DOFs", + "force_balance_gate": { + "operator": "<=", + "value": 1e-08 + }, + "gate": { + "operator": "<=", + "value": 1e-08 + }, + "inf": "max_free(abs(r_phys))", + "l2": "sqrt(sum_free(r_phys**2))", + "relative": "physical_residual_l2 / max(free_load_l2, 1.0)" + }, + "ready_for_wp13_01c_v2": false, + "replays": { + "determinism": true, + "replay_1": { + "digest": "fbbc8381a8c6222509ec6471b96bdb9c7dbb630aa4c3b770d48bd8b8e7ad06b7", + "solver_status": "FAIL_PHYSICAL_GATE", + "status": "PASS" + }, + "replay_2": { + "digest": "fbbc8381a8c6222509ec6471b96bdb9c7dbb630aa4c3b770d48bd8b8e7ad06b7", + "solver_status": "FAIL_PHYSICAL_GATE", + "status": "PASS" + } + }, + "scale_a": { + "ranks": 2, + "result": { + "assembly_seconds": 30.0618664779995, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.520604743200915e-13, + "final_reported_residual": 3.5206047886182505e-13, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 928366.817760169, + "free_dof_residual_l2": 2.107094062392041, + "ghost_interface_residual_l2": 6426.144258689203, + "owned_dof_residual_l2": 928366.8177625602, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5985034358880.772, + "scaled_reconstructed_free_residual_l2": 2.107094043561224, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "true_relative_residual": 2.9798810002306444e-05, + "true_residual_inf": 26027.55057502538, + "true_residual_l2": 928366.8177625602 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100137.02842943446, + -78.57132343319415, + 0.17751667927041126 + ], + "distributed_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.166528278631566e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206047886182505e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 8, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206048129653935e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 0.0015795656017068575, + "final_physical_relative_residual": 2.9798810002306444e-05, + "final_scaled_explicit_residual": 3.520604743200915e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 8 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 7.762027438000587, + "segments": 5556, + "solution": null, + "solve_seconds": 5.499856791999264, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "scale_a_r3": { + "ranks": 3, + "result": { + "assembly_seconds": 24.401806099998794, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": -5, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 6.691976545366457e-11, + "final_reported_residual": 9.485045339546517e-12, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": -5, + "reason_name": "OTHER", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755428557e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 21.97473055958078, + "row_sum_weighted": 43684118.16960244, + "shape": [ + 100023, + 100023 + ], + "trace": 2.8187876037820424e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 894994.7834152447, + "free_dof_residual_l2": 404.4035207711986, + "ghost_interface_residual_l2": 9758.058384172573, + "owned_dof_residual_l2": 894994.8747801343, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 42635908031466.86, + "scaled_reconstructed_free_residual_l2": 404.4035207478212, + "scaled_to_physical_reconstruction_relative": 1.0908896397901628e-08, + "true_relative_residual": 0.005719129437460587, + "true_residual_inf": 24970.172242969275, + "true_residual_l2": 894994.8747801343 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -102462.86633141604, + 6736.96838349231, + -2798.0954272183735 + ], + "distributed_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.0310950387424964e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.0663607704991469, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.06736968383609836, + "force_balance_relative": 0.0769946696259652, + "free_residual_relative": 0.005719129437460587, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 200, + "ksp_final_residual": 9.485045339546517e-12, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.884139145745532e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "c7abdb1cc3aa0a80247bb4651e923947141580d77a50ef0ab7afcedc51a5de50", + "records": [ + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555 + ], + "owned_nodes": 11117, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333, + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111 + ], + "owned_nodes": 11112, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 11112, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.07699466962632949, + "iterations": 200, + "petsc_gate": false, + "physical_gate": false, + "physical_relative_residual": 0.005719129437460587, + "reason": -5, + "reported_residual": 9.485045339546517e-12, + "restart_index": 0 + } + ], + "final_force_balance_relative": 0.0769946696259652, + "final_physical_relative_residual": 0.005719129437460587, + "final_scaled_explicit_residual": 6.691976545366457e-11, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 1, + "total_iterations": 200 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400235.0, + "nz_unneeded": 0.0, + "nz_used": 1400235.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1300062.0, + "nz_unneeded": 0.0, + "nz_used": 1300062.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 800172.0, + "nz_unneeded": 0.0, + "nz_used": 800172.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 34, + "owned_row_pattern_complete": true, + "received_row_records": 33355, + "sent_row_records": 33351, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 11.15589193499909, + "segments": 5556, + "solution": null, + "solve_seconds": 8.497261967999293, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "scale_b": null, + "scale_ladder": [ + { + "dof": 1005, + "force_balance": 6.067020343260995e-06, + "hex8": 55, + "id": "L1", + "iterations": 10, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ksp_reported_residual": 6.751379900015708e-13, + "physical_residual": 5.3186827883400645e-06, + "policy_accepted": false, + "ranks": 2, + "runtime_seconds": 0.07528210999953444, + "segments": 55, + "solve_count": 9, + "status": "FAIL_PHYSICAL_GATE", + "tet4": 55, + "wedge6": 55 + }, + { + "dof": 10005, + "force_balance": 9.14912669413499e-05, + "hex8": 555, + "id": "L2", + "iterations": 9, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ksp_reported_residual": 5.004249679676046e-13, + "physical_residual": 1.39509528353589e-05, + "policy_accepted": false, + "ranks": 2, + "runtime_seconds": 0.6257327660005103, + "segments": 555, + "solve_count": 9, + "status": "FAIL_PHYSICAL_GATE", + "tet4": 555, + "wedge6": 555 + }, + { + "dof": 30003, + "force_balance": 0.00012654850008957127, + "hex8": 1666, + "id": "L3", + "iterations": 9, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ksp_reported_residual": 2.0381807872726835e-13, + "physical_residual": 8.857479928189067e-06, + "policy_accepted": false, + "ranks": 2, + "runtime_seconds": 2.25408810800036, + "segments": 1666, + "solve_count": 9, + "status": "FAIL_PHYSICAL_GATE", + "tet4": 1666, + "wedge6": 1666 + }, + { + "dof": 100023, + "force_balance": 0.0015795656017068575, + "hex8": 5556, + "id": "L4", + "iterations": 8, + "ksp_reason": 3, + "ksp_reason_name": "KSP_CONVERGED_ATOL", + "ksp_reported_residual": 3.5206047886182505e-13, + "physical_residual": 2.9798810002306444e-05, + "policy_accepted": false, + "ranks": 2, + "runtime_seconds": 7.762027438000587, + "segments": 5556, + "solve_count": 9, + "status": "FAIL_PHYSICAL_GATE", + "tet4": 5556, + "wedge6": 5556 + } + ], + "scaling_map": { + "diagonal_factor": "1/sqrt(diag(K/E))", + "physical_from_scaled": "u_physical = diagonal_factor*u_scaled", + "reconstruction_gate_relative_to_free_residual": { + "operator": "<=", + "value": 1e-10 + }, + "scaled_residual_from_physical": "r_scaled = diagonal_factor*(r_phys/E)", + "uniform_factor": "1/E" + }, + "scaling_map_valid": true, + "scaling_reconstruction_error": 7.05022211956668e-11, + "schema_version": 1, + "selected_convergence_policy": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "small_case": { + "errors": { + "displacement": 1.3388842595562628e-21, + "energy": 4.163336342344337e-17, + "force_balance": 6.468291535091174e-16, + "physical_residual": 4.531757568334861e-16, + "reactions": 6.197010036760375e-16 + }, + "status": "PASS" + }, + "status": "STILL_FAIL_PHYSICAL_CONVERGENCE" +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/failures.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/failures.json new file mode 100644 index 00000000..295e1ab0 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/failures.json @@ -0,0 +1,134 @@ +{ + "case": "physical_convergence_failure_contract", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "failure_contract": { + "cases": [ + { + "actual_input": { + "residual": [ + 0.0, + "NaN" + ], + "runtime_encoding": "float('nan')" + }, + "actual_input_digest": "7c550475d02bf58d0bd05f644de74c8c86f518c9ac4f348d2a8df832bc87ec5b", + "case_id": "physical_residual_callback_failure", + "execution_path": "__main__.", + "expected_exception_type": "ValueError", + "expected_message_pattern": "non-finite or malformed residual", + "message_match": true, + "observed_exception_type": "ValueError", + "observed_execution_function": "physical_residual_callback", + "observed_message": "Physical residual callback received a non-finite or malformed residual.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "diagonal_factor": [ + 1.0, + 1.0 + ], + "uniform_factor": 0.0 + }, + "actual_input_digest": "ca964a874f6ca80d6dd4dfe2fac43e37c439b6a6e89d2639dd9995afae4a4140", + "case_id": "scaling_map_inconsistency", + "execution_path": "__main__.", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "scaling map is inconsistent", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "validate_scaling_map", + "observed_message": "Physical scaling map is inconsistent.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "residual": [ + "Infinity" + ], + "runtime_encoding": "float('inf')" + }, + "actual_input_digest": "cf7cb45a442a23ac41e690a2a021be73aa8c849cf6bde05be3d7b011120cb7f2", + "case_id": "nan_residual", + "execution_path": "__main__.", + "expected_exception_type": "ValueError", + "expected_message_pattern": "non-finite or malformed residual", + "message_match": true, + "observed_exception_type": "ValueError", + "observed_execution_function": "physical_residual_callback", + "observed_message": "Physical residual callback received a non-finite or malformed residual.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "reduced_value": "NaN", + "runtime_encoding": "float('nan')" + }, + "actual_input_digest": "9447e6809f6375a8c8e270aa0bebbca774b6eead981c90236da4f2d6b5fe3ad4", + "case_id": "invalid_global_reduction", + "execution_path": "__main__.", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "global reduction is invalid", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "validate_global_reduction", + "observed_message": "Physical residual global reduction is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "ksp": "bicgstab", + "pc": "asm" + }, + "actual_input_digest": "6ddd1d7321724b43259c68672b03227df2a8854e5d012668520a821b722cfdba", + "case_id": "unsupported_ksp_path", + "execution_path": "__main__.", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "unsupported physical convergence KSP path", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "validate_ksp_path", + "observed_message": "Unsupported physical convergence KSP path.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "expected_dof": 33, + "shape": [ + 33, + 32 + ] + }, + "actual_input_digest": "8bb02d9f1fbf188f2445721f2391f4c2146a3e046ceadd73f01705ada28896c2", + "case_id": "malformed_physical_residual_operator", + "execution_path": "__main__.", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "malformed physical residual operator shape", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "validate_physical_operator", + "observed_message": "Malformed physical residual operator shape.", + "pass": true, + "path_match": true, + "type_match": true + } + ], + "executed": 6, + "pass": 6, + "required": 6, + "silent_fallback": false, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L1.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L1.json new file mode 100644 index 00000000..7942b2e5 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L1.json @@ -0,0 +1,537 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 0.261598375000176, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 669, + "fixed_dof_count": 669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 6.751379902026162e-13, + "final_reported_residual": 6.751379900015708e-13, + "initial_residual": 1.9452432140338692e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2461999576923085e+18, + "frobenius_norm": 158507459470785.34, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 66850000.0, + "row_sum_l2": 0.020654701480777155, + "row_sum_weighted": -37.994237209487785, + "shape": [ + 1005, + 1005 + ], + "trace": 2763781730769231.5 + }, + "physical_residual": { + "constrained_dof_residual_l2": 104411.7301493801, + "free_dof_residual_l2": 0.3760876666615435, + "ghost_interface_residual_l2": 7241.187273056437, + "owned_dof_residual_l2": 104411.73015005744, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 557053035425.6445, + "scaled_reconstructed_free_residual_l2": 0.3760876670339852, + "scaled_to_physical_reconstruction_relative": 5.484232985716252e-09, + "true_relative_residual": 5.3186827883400645e-06, + "true_residual_inf": 24490.189497816027, + "true_residual_l2": 104411.73015005744 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100000.34210622078, + -0.10423908331108578, + 0.4900866301049973 + ], + "distributed_resultant": [ + -100000.34210622124, + -0.10423908332177234, + 0.4900866304542433 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.815736942768972e-14 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 165, + "energy": 0.06849241844232992, + "family_counts": { + "HEX8": 55, + "TET4": 55, + "WEDGE6": 55 + }, + "force_balance_component_relative": 4.900866304542433e-06, + "force_balance_relative": 6.067020343260995e-06, + "free_residual_relative": 5.3186827883400645e-06, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 10, + "ksp_final_residual": 6.751379900015708e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 11231043123543.18, + "diagonal_min": 370437062937.0627, + "diagonal_ratio_indicator": 30.318357009140136, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.377507702985607e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "a176cd19bbd4af864619b8a56bc95c148fc2341c671c8d3c4b693094fa1bdc95", + "ndof": 1005, + "offprocess_insertion": true, + "partition": { + "digest": "f55c1a51ecfda4488df770d1c78030b4e59bcbdcfc1573cb5f6bcedda860797e", + "records": [ + { + "family_counts": { + "HEX8": 27, + "TET4": 28, + "WEDGE6": 27 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 168, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ], + "owned_nodes": 168, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 28, + "TET4": 27, + "WEDGE6": 28 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 172, + "owned_elements": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ], + "owned_nodes": 167, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 10, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379923592327e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 6.067020343670064e-06, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "reason": 3, + "reported_residual": 6.751379900015708e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 6.067020343260995e-06, + "final_physical_relative_residual": 5.3186827883400645e-06, + "final_scaled_explicit_residual": 6.751379902026162e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 10 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 20871.0, + "nz_unneeded": 0.0, + "nz_used": 20871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 13968.0, + "nz_unneeded": 0.0, + "nz_used": 13968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 34839.0, + "nz_used_sum": 34839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 511, + "sent_row_records": 504, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.34210622124, + -0.10423908332177234, + 0.4900866304542433 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.07528210999953444, + "segments": 55, + "solution": null, + "solve_seconds": 0.05803504200048337, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L2.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L2.json new file mode 100644 index 00000000..1f0064b0 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L2.json @@ -0,0 +1,2037 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 2.8446658440007013, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 5.004249670973429e-13, + "final_reported_residual": 5.004249679676046e-13, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916486.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6256275200078484, + "row_sum_weighted": 36537.42976676743, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296509.54931246024, + "free_dof_residual_l2": 0.9864813353895971, + "ghost_interface_residual_l2": 6495.536248268561, + "owned_dof_residual_l2": 296509.5493141012, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1971287202946.7917, + "scaled_reconstructed_free_residual_l2": 0.9864813340883636, + "scaled_to_physical_reconstruction_relative": 1.5817022497700172e-07, + "true_relative_residual": 1.39509528353589e-05, + "true_residual_inf": 25873.38103754446, + "true_residual_l2": 296509.5493141012 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100008.85663817644, + -2.2910538776516205, + 0.13248367935739225 + ], + "distributed_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.797909186006857e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06845069231691114, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.856638157812995e-05, + "force_balance_relative": 9.14912669413499e-05, + "free_residual_relative": 1.39509528353589e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 9, + "ksp_final_residual": 5.004249679676046e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.016618690401604e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "853a74e45dc628c387ba0865f8e50628c8a932f91127e03aca667abe4d560a20", + "records": [ + { + "family_counts": { + "HEX8": 277, + "TET4": 278, + "WEDGE6": 277 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1668, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831 + ], + "owned_nodes": 1668, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 278, + "TET4": 277, + "WEDGE6": 278 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1672, + "owned_elements": [ + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1667, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 9, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249671391902e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 9.149126692509677e-05, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "reason": 3, + "reported_residual": 5.004249679676046e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 9.14912669413499e-05, + "final_physical_relative_residual": 1.39509528353589e-05, + "final_scaled_explicit_residual": 5.004249670973429e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 9 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 209871.0, + "nz_unneeded": 0.0, + "nz_used": 209871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139968.0, + "nz_unneeded": 0.0, + "nz_used": 139968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 5011, + "sent_row_records": 5004, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100008.85663815781, + -2.291053881465359, + 0.13248365607432788 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.6257327660005103, + "segments": 555, + "solution": null, + "solve_seconds": 0.46135782599958475, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L3.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L3.json new file mode 100644 index 00000000..ef6d93e6 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L3.json @@ -0,0 +1,5370 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 8.140498659000514, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 20001, + "fixed_dof_count": 20001, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 2.0381807845840247e-13, + "final_reported_residual": 2.0381807872726835e-13, + "initial_residual": 3.537268933044116e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 3.40831315231178e+22, + "frobenius_norm": 2.6483998910535516e+16, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 2000050000.0, + "row_sum_l2": 3.735430276240387, + "row_sum_weighted": -784424.9081073701, + "shape": [ + 30003, + 30003 + ], + "trace": 2.534475582692307e+18 + }, + "physical_residual": { + "constrained_dof_residual_l2": 509576.35379674146, + "free_dof_residual_l2": 0.6263184121446224, + "ghost_interface_residual_l2": 6443.583315400689, + "owned_dof_residual_l2": 509576.3537971263, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 3072928643306.0103, + "scaled_reconstructed_free_residual_l2": 0.62631841995906, + "scaled_to_physical_reconstruction_relative": 8.234634978104426e-07, + "true_relative_residual": 8.857479928189067e-06, + "true_residual_inf": 25978.88670729287, + "true_residual_l2": 509576.3537971263 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100011.85735347976, + -4.378842793975082, + 0.6116627956398588 + ], + "distributed_resultant": [ + -100011.8573535729, + -4.378842700857149, + 0.6116629772477609 + ], + "duplication": false, + "loss": false, + "relative_difference": 6.199969909691904e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 4998, + "energy": 0.06844864263734066, + "family_counts": { + "HEX8": 1666, + "TET4": 1666, + "WEDGE6": 1666 + }, + "force_balance_component_relative": 0.00011857353572893771, + "force_balance_relative": 0.00012654850008957127, + "free_residual_relative": 8.857479928189067e-06, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 9, + "ksp_final_residual": 2.0381807872726835e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 340141728614584.0, + "diagonal_min": 11213469618616.336, + "diagonal_ratio_indicator": 30.333317000287654, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.897443999277557e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "6d05cb7276c7164971e32e90eadfde8b20180e474e5f1d9e31794cb1d9c6f81c", + "ndof": 30003, + "offprocess_insertion": true, + "partition": { + "digest": "a5a35b7fdc4c319881d82c5593a04cfec6ae0ec9c0bf5a363b2f4cb861855212", + "records": [ + { + "family_counts": { + "HEX8": 833, + "TET4": 833, + "WEDGE6": 833 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 5003, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498 + ], + "owned_nodes": 5003, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 833, + "TET4": 833, + "WEDGE6": 833 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 5003, + "owned_elements": [ + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997 + ], + "owned_nodes": 4998, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 9, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.038180775879955e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0001265485001792906, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "reason": 3, + "reported_residual": 2.0381807872726835e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 0.00012654850008957127, + "final_physical_relative_residual": 8.857479928189067e-06, + "final_scaled_explicit_residual": 2.0381807845840247e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 9 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 629829.0, + "nz_unneeded": 0.0, + "nz_used": 629829.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 419940.0, + "nz_unneeded": 0.0, + "nz_used": 419940.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 1049769.0, + "nz_used_sum": 1049769.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 15010, + "sent_row_records": 15009, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100011.8573535729, + -4.378842700857149, + 0.6116629772477609 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 2.25408810800036, + "segments": 1666, + "solution": null, + "solve_seconds": 1.7257796350004355, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L4.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L4.json new file mode 100644 index 00000000..2264f2ca --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/ladder_L4.json @@ -0,0 +1,17040 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 30.0618664779995, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.520604743200915e-13, + "final_reported_residual": 3.5206047886182505e-13, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 928366.817760169, + "free_dof_residual_l2": 2.107094062392041, + "ghost_interface_residual_l2": 6426.144258689203, + "owned_dof_residual_l2": 928366.8177625602, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5985034358880.772, + "scaled_reconstructed_free_residual_l2": 2.107094043561224, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "true_relative_residual": 2.9798810002306444e-05, + "true_residual_inf": 26027.55057502538, + "true_residual_l2": 928366.8177625602 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100137.02842943446, + -78.57132343319415, + 0.17751667927041126 + ], + "distributed_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.166528278631566e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206047886182505e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 8, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206048129653935e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 0.0015795656017068575, + "final_physical_relative_residual": 2.9798810002306444e-05, + "final_scaled_explicit_residual": 3.520604743200915e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 8 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 7.762027438000587, + "segments": 5556, + "solution": null, + "solve_seconds": 5.499856791999264, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/replay_1.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/replay_1.json new file mode 100644 index 00000000..42489a5a --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/replay_1.json @@ -0,0 +1,17040 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 25.134731367999848, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.520604743200915e-13, + "final_reported_residual": 3.5206047886182505e-13, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 928366.817760169, + "free_dof_residual_l2": 2.107094062392041, + "ghost_interface_residual_l2": 6426.144258689203, + "owned_dof_residual_l2": 928366.8177625602, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5985034358880.772, + "scaled_reconstructed_free_residual_l2": 2.107094043561224, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "true_relative_residual": 2.9798810002306444e-05, + "true_residual_inf": 26027.55057502538, + "true_residual_l2": 928366.8177625602 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100137.02842943446, + -78.57132343319415, + 0.17751667927041126 + ], + "distributed_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.166528278631566e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206047886182505e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 8, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206048129653935e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 0.0015795656017068575, + "final_physical_relative_residual": 2.9798810002306444e-05, + "final_scaled_explicit_residual": 3.520604743200915e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 8 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 6.9330008779998025, + "segments": 5556, + "solution": null, + "solve_seconds": 5.132867348000218, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/replay_2.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/replay_2.json new file mode 100644 index 00000000..6b74358d --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/replay_2.json @@ -0,0 +1,17040 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 25.997142033000273, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 3.520604743200915e-13, + "final_reported_residual": 3.5206047886182505e-13, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 928366.817760169, + "free_dof_residual_l2": 2.107094062392041, + "ghost_interface_residual_l2": 6426.144258689203, + "owned_dof_residual_l2": 928366.8177625602, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5985034358880.772, + "scaled_reconstructed_free_residual_l2": 2.107094043561224, + "scaled_to_physical_reconstruction_relative": 2.3659408275098885e-06, + "true_relative_residual": 2.9798810002306444e-05, + "true_residual_inf": 26027.55057502538, + "true_residual_l2": 928366.8177625602 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100137.02842943446, + -78.57132343319415, + 0.17751667927041126 + ], + "distributed_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.166528278631566e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06848559027305412, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.0013702842977718684, + "force_balance_relative": 0.0015795656017068575, + "free_residual_relative": 2.9798810002306444e-05, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 8, + "ksp_final_residual": 3.5206047886182505e-13, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 8, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206048129653935e-13, + "restart_index": 0 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 1 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 2 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 3 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 4 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 5 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 6 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 7 + }, + { + "force_balance_gate": false, + "force_balance_relative": 0.0015795656051720624, + "iterations": 0, + "petsc_gate": true, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "reason": 3, + "reported_residual": 3.5206047886182505e-13, + "restart_index": 8 + } + ], + "final_force_balance_relative": 0.0015795656017068575, + "final_physical_relative_residual": 2.9798810002306444e-05, + "final_scaled_explicit_residual": 3.520604743200915e-13, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 9, + "total_iterations": 8 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100137.02842977719, + -78.57132309256895, + 0.17754221241011692 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 7.482812574999116, + "segments": 5556, + "solution": null, + "solve_seconds": 5.525374338001711, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/scale_a_r3.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/scale_a_r3.json new file mode 100644 index 00000000..c200893e --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/scale_a_r3.json @@ -0,0 +1,16978 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 24.401806099998794, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": -5, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 6.691976545366457e-11, + "final_reported_residual": 9.485045339546517e-12, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": -5, + "reason_name": "OTHER", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755428557e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 21.97473055958078, + "row_sum_weighted": 43684118.16960244, + "shape": [ + 100023, + 100023 + ], + "trace": 2.8187876037820424e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 894994.7834152447, + "free_dof_residual_l2": 404.4035207711986, + "ghost_interface_residual_l2": 9758.058384172573, + "owned_dof_residual_l2": 894994.8747801343, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 42635908031466.86, + "scaled_reconstructed_free_residual_l2": 404.4035207478212, + "scaled_to_physical_reconstruction_relative": 1.0908896397901628e-08, + "true_relative_residual": 0.005719129437460587, + "true_residual_inf": 24970.172242969275, + "true_residual_l2": 894994.8747801343 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -102462.86633141604, + 6736.96838349231, + -2798.0954272183735 + ], + "distributed_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.0310950387424964e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.0663607704991469, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.06736968383609836, + "force_balance_relative": 0.0769946696259652, + "free_residual_relative": 0.005719129437460587, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 200, + "ksp_final_residual": 9.485045339546517e-12, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.884139145745532e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "c7abdb1cc3aa0a80247bb4651e923947141580d77a50ef0ab7afcedc51a5de50", + "records": [ + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555 + ], + "owned_nodes": 11117, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333, + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111 + ], + "owned_nodes": 11112, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 11112, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": false, + "checks": [ + { + "force_balance_gate": false, + "force_balance_relative": 0.07699466962632949, + "iterations": 200, + "petsc_gate": false, + "physical_gate": false, + "physical_relative_residual": 0.005719129437460587, + "reason": -5, + "reported_residual": 9.485045339546517e-12, + "restart_index": 0 + } + ], + "final_force_balance_relative": 0.0769946696259652, + "final_physical_relative_residual": 0.005719129437460587, + "final_scaled_explicit_residual": 6.691976545366457e-11, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 1, + "total_iterations": 200 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400235.0, + "nz_unneeded": 0.0, + "nz_used": 1400235.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1300062.0, + "nz_unneeded": 0.0, + "nz_used": 1300062.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 800172.0, + "nz_unneeded": 0.0, + "nz_used": 800172.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 34, + "owned_row_pattern_complete": true, + "received_row_records": 33355, + "sent_row_records": 33351, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 11.15589193499909, + "segments": 5556, + "solution": null, + "solve_seconds": 8.497261967999293, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/small_mpi.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/small_mpi.json new file mode 100644 index 00000000..545b0a9b --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/small_mpi.json @@ -0,0 +1,378 @@ +{ + "case": "petsc_mpi_physical_convergence", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "assembly_seconds": 0.017513127999336575, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 3, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 1, + "local_kernel_dispatches": 1, + "offprocess_insertions": true, + "owned_element_contributions": 1, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 1, + "local_kernel_dispatches": 1, + "offprocess_insertions": true, + "owned_element_contributions": 1, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 1, + "local_kernel_dispatches": 1, + "offprocess_insertions": true, + "owned_element_contributions": 1, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 21, + "fixed_dof_count": 21, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 1e-12, + "dtol": 10000.0, + "explicit_scaled_residual": 2.7674971258976776e-22, + "final_reported_residual": 2.638671717502426e-22, + "initial_residual": 5.971079232984792e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 3, + "reason_name": "KSP_CONVERGED_ATOL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 32274038461538.46, + "frobenius_norm": 667099257146.6417, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 2050000.0, + "row_sum_l2": 9.903271819529903e-05, + "row_sum_weighted": -0.0033452510833740234, + "shape": [ + 33, + 33 + ], + "trace": 2443269230769.2305 + }, + "physical_residual": { + "constrained_dof_residual_l2": 72347.09723297425, + "free_dof_residual_l2": 3.204436507263039e-11, + "ghost_interface_residual_l2": 9244.26377978011, + "owned_dof_residual_l2": 72347.09723297425, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 121441272364.72316, + "scaled_reconstructed_free_residual_l2": 3.641905444345826e-11, + "scaled_to_physical_reconstruction_relative": 1.4663771143002015e-11, + "true_relative_residual": 4.531757568334861e-16, + "true_residual_inf": 55370.20169512078, + "true_residual_l2": 72347.09723297425 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100000.00000000009, + 9.094947017729282e-12, + 3.2741809263825417e-11 + ], + "distributed_resultant": [ + -100000.00000000006, + 1.000444171950221e-11, + 2.637534635141492e-11 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.5676325027886708e-16 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 3, + "energy": 0.04827941499918294, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 5.820766091346741e-16, + "force_balance_relative": 6.468291535091174e-16, + "free_residual_relative": 4.531757568334861e-16, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 1, + "ksp_final_residual": 2.638671717502426e-22, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9ae1534ebb16ea89dbb3790bf3f5035bc7b22d8f5d600a2a8a3272bc39616484", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_policy": { + "accepted": true, + "checks": [ + { + "force_balance_gate": true, + "force_balance_relative": 6.382683226374047e-16, + "iterations": 1, + "petsc_gate": true, + "physical_gate": true, + "physical_relative_residual": 4.531757568334861e-16, + "reason": 3, + "reported_residual": 2.638671717502426e-22, + "restart_index": 0 + } + ], + "final_force_balance_relative": 6.468291535091174e-16, + "final_physical_relative_residual": 4.531757568334861e-16, + "final_scaled_explicit_residual": 2.7674971258976776e-22, + "force_balance_gate": 1e-08, + "max_restarts": 8, + "physical_relative_gate": 1e-08, + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "solve_count": 1, + "total_iterations": 1 + }, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000000006, + 1.000444171950221e-11, + 2.637534635141492e-11 + ], + "reaction_vector": [ + -4624.344811729383, + -1633.9395263808715, + -3934.503150596894, + 5508.037382835441, + -312.0860613533987, + -3935.2129490099496, + -55370.20169512078, + 4392.354505800278, + 12129.438121487463, + -2799.1011082868104, + 7696.0092548773855, + 931.6916886928748, + -7748.703507735334, + -3953.7885677605504, + -11398.21222354707, + -39542.36021771605, + -6188.549605182833, + 2494.876807735196, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "residual": [ + -4624.344811729385, + -1633.939526380871, + -3934.503150596889, + 4.774847184307873e-12, + 0.0, + 0.0, + 5508.037382835441, + -312.0860613533987, + -3935.2129490099514, + -55370.20169512078, + 4392.354505800273, + 12129.438121487465, + 2.9103830456733704e-11, + -3.637978807091713e-12, + -2.7284841053187847e-12, + -2799.1011082868104, + 7696.0092548773855, + 931.6916886928748, + -7748.703507735334, + -3953.7885677605504, + -11398.212223547069, + 3.183231456205249e-12, + 0.0, + 0.0, + -39542.36021771606, + -6188.54960518283, + 2494.876807735196, + 7.275957614183426e-12, + -2.5011104298755527e-12, + -8.185452315956354e-12, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "runtime_seconds": 0.016449840999484877, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.838285034975211e-07, + 1.53118099829086e-07, + -3.3998149400449756e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806621e-07, + -7.000062236589675e-08, + -4.6805185420592706e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.50189143111459e-07, + 8.405987983202813e-08, + -5.220128295504757e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866549e-06, + 3.1493859502395237e-07, + -7.191876129222631e-07, + 0.0, + 0.0, + 0.0 + ], + "solve_seconds": 0.00655473400001938, + "solver_configuration": { + "atol": 1e-12, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "post_observation_retuning": false, + "restart": 100, + "rtol": 1e-10 + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence/small_serial.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence/small_serial.json new file mode 100644 index 00000000..461cde67 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence/small_serial.json @@ -0,0 +1,193 @@ +{ + "case": "serial_reference", + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "9eefa127ecacdd650bfcbae553c888604a143fe250a35777195a3969a6547c49", + "result": { + "backend": "serial_global_assembler", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.8382850349752102e-07, + 1.5311809982908588e-07, + -3.3998149400449745e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806618e-07, + -7.000062236589645e-08, + -4.6805185420592696e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431114589e-07, + 8.405987983202793e-08, + -5.220128295504752e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866542e-06, + 3.149385950239527e-07, + -7.191876129222623e-07, + 0.0, + 0.0, + 0.0 + ], + "displacement_digest": "dea52cc0f152e4e9f18dbeb096fe8e25e1e113c40328e9e105ae869b723337c9", + "displacement_norm": 1.8937767094634946e-06, + "element_count": 3, + "energy": 0.048279414999182896, + "energy_identity_relative": 1.3877787807814457e-17, + "equilibrium_relative": 1.619309279227751e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 3.292603210724474e-16, + "ghost_nodes": 0, + "global_gather_present": false, + "internal_force_norm": 101163.74092547894, + "iterations": "direct", + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "matrix_nnz": 763, + "model": { + "connected_components": 1, + "dof": 33, + "element_count": 3, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "fixed_nodes": 7, + "load_nodes": [ + 4, + 9 + ], + "model_digest": "1173570aff535ef4d8374bd1dad91c60141664ee4dcb4635a62ce24031ca2c73", + "node_count": 11 + }, + "model_digest": "5e8a2dbe0af0004dd8131659fb1c09ef53a4988cc6139be1b4cd74c79923809a", + "ndof": 33, + "peak_memory_mb": 77.83203125, + "rank_count": 1, + "reaction_digest": "0ae204d2e2dbfea5dc196e98ee7b5aac4cd99e0c375a9d7647a9fe2656a53290", + "reaction_norm": 72347.0972329742, + "reaction_resultant": [ + -100000.0, + -1.000444171950221e-11, + 1.2732925824820995e-11 + ], + "reaction_vector": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "reallocations": 0, + "residual": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + -2.2737367544323206e-13, + -3.637978807091713e-12, + 5.4569682106375694e-12, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + 1.4551915228366852e-11, + -9.094947017729282e-13, + -7.275957614183426e-12, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + 0.0, + 2.2737367544323206e-12, + 1.8189894035458565e-12, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + -1.4551915228366852e-11, + 3.637978807091713e-12, + 0.0, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "residual_digest": "11a437707fce5bb4910c4e54fd94fea0b90b810724d943fab3e11aa9d8f44d2a", + "runtime_seconds": 0.010172128999329288, + "segments": 1, + "status": "PASS", + "wall_seconds": 0.011676152998916223 + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r3_physical_convergence_contract.json b/qualification/0_2_8/wp13_01c_r3_physical_convergence_contract.json new file mode 100644 index 00000000..472ab4f6 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r3_physical_convergence_contract.json @@ -0,0 +1,115 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-R3-PHYSICAL-CONVERGENCE-001", + "work_package": "WP13-01C-R3", + "status": "PREDECLARED", + "creation_sha": "24f209129e98be6fe2b4be86848ce948514fd23c", + "purpose": "Prospective physical-residual-aware PETSc convergence policy for the unchanged WP13-01C mixed Scale-A model.", + "historical_preservation": { + "wp13_01c_status": "FAIL_RUNTIME", + "wp13_01c_r1_status": "STILL_FAIL_RUNTIME", + "wp13_01c_r2_status": "PASS_DIAGNOSTIC_FIX_REQUIRED", + "rewrite_historical_evidence": false + }, + "environment": { + "strategy": "Dedicated Docker Linux + conda-forge", + "container_image": "qf-solver-wp13-01c-petsc:2026-09", + "python": "3.12.14", + "petsc": "3.25.5", + "petsc4py": "3.25.5", + "mpi": "MPICH 5.0.1", + "scalar": "float64", + "index": "int32" + }, + "frozen_model": { + "small_connected_control": {"segments": 1, "dof": 33, "tet4": 1, "wedge6": 1, "hex8": 1, "ranks": 2}, + "scale_ladder": [ + {"id": "L1", "segments": 55, "dof": 1005, "tet4": 55, "wedge6": 55, "hex8": 55, "ranks": 2}, + {"id": "L2", "segments": 555, "dof": 10005, "tet4": 555, "wedge6": 555, "hex8": 555, "ranks": 2}, + {"id": "L3", "segments": 1666, "dof": 30003, "tet4": 1666, "wedge6": 1666, "hex8": 1666, "ranks": 2}, + {"id": "L4", "segments": 5556, "dof": 100023, "tet4": 5556, "wedge6": 5556, "hex8": 5556, "ranks": 2} + ], + "scale_a_mesh_material_bc_load_partition_unchanged": true + }, + "physical_residual": { + "definition": "r_phys = K_original_physical*u_physical - F_original_physical on free DOFs", + "l2": "sqrt(sum_free(r_phys**2))", + "inf": "max_free(abs(r_phys))", + "relative": "physical_residual_l2 / max(free_load_l2, 1.0)", + "gate": {"operator": "<=", "value": 1.0e-8}, + "force_balance_gate": {"operator": "<=", "value": 1.0e-8} + }, + "scaling_map": { + "uniform_factor": "1/E", + "diagonal_factor": "1/sqrt(diag(K/E))", + "physical_from_scaled": "u_physical = diagonal_factor*u_scaled", + "scaled_residual_from_physical": "r_scaled = diagonal_factor*(r_phys/E)", + "reconstruction_gate_relative_to_free_residual": {"operator": "<=", "value": 1.0e-10} + }, + "solver": { + "ksp": "GMRES", + "pc": "ASM", + "rtol": 1.0e-10, + "atol": 1.0e-12, + "dtol": 1.0e4, + "max_it": 20000, + "restart": 100, + "automatic_fallback": false, + "post_observation_retuning": false + }, + "convergence_policy": { + "selected": "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", + "priority_order": ["A_CUSTOM_PHYSICAL_CONVERGENCE_TEST", "B_EXTERNAL_PHYSICAL_VERIFICATION_WITH_EXPLICIT_RESTART", "C_ANALYTICAL_SCALED_PHYSICAL_MAP"], + "inner_solve": "fixed GMRES/ASM configuration above", + "outer_check": "recompute physical residual from original physical operator after every inner solve", + "restart": "solve a PETSc correction equation for -r_phys mapped through the frozen scaling map, update u, and recheck", + "max_restarts": 8, + "max_inner_solves": 9, + "initial_guess": "zero for first solve; correction state for explicit restarts", + "stop": "positive PETSc reason AND physical residual gate AND force-balance gate", + "fallback_to_ksp_only": false + }, + "checks": { + "small_case_non_regression": true, + "scale_ladder": true, + "scale_a_ranks": [2, 3], + "scale_b_requires_scale_a_pass": true, + "scale_c_requires_scale_b_stability": true, + "one_million_optional": true, + "replays": 2, + "partition_consistency": true, + "no_nan_inf": true, + "no_mandatory_global_gather": true + }, + "failure_contract": { + "cases": [ + "physical_residual_callback_failure", + "scaling_map_inconsistency", + "nan_residual", + "invalid_global_reduction", + "unsupported_ksp_path", + "malformed_physical_residual_operator" + ], + "actual_execution_required": true, + "type_message_path_match_required": true, + "any_exception_is_not_automatically_pass": true, + "silent_fallback_allowed": false + }, + "scope": { + "fem_formulation_change": false, + "element_formulation_change": false, + "model_change": false, + "bc_or_load_physics_change": false, + "physical_gate_change": false, + "maturity_change": false, + "historical_evidence_change": false, + "public_claim": false + }, + "integrity": { + "numerical_source_changed": false, + "element_formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false, + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + } +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_contract.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_contract.json new file mode 100644 index 00000000..8fea7881 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_contract.json @@ -0,0 +1,121 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "work_package": "WP13-01C-R4", + "status": "PREDECLARED", + "creation_sha": "6ab432363a23baa55c9c098f892d34b303baaffc", + "purpose": "Make PETSc convergence depend directly on the physical free-DOF residual for the unchanged WP13-01C mixed runtime case.", + "historical_preservation": { + "wp13_01c_status": "FAIL_RUNTIME", + "wp13_01c_r1_status": "STILL_FAIL_RUNTIME", + "wp13_01c_r2_status": "PASS_DIAGNOSTIC_FIX_REQUIRED", + "wp13_01c_r3_status": "STILL_FAIL_PHYSICAL_CONVERGENCE", + "rewrite_historical_evidence": false + }, + "environment": { + "strategy": "Dedicated Docker Linux + conda-forge", + "container_image": "qf-solver-wp13-01c-petsc:2026-09", + "python": "3.12.14", + "petsc": "3.25.5", + "petsc4py": "3.25.5", + "mpi": "MPICH 5.0.1", + "scalar": "float64", + "index": "int32" + }, + "frozen_model": { + "small_connected_control": {"segments": 1, "dof": 33, "tet4": 1, "wedge6": 1, "hex8": 1}, + "scale_ladder": [ + {"id": "L1", "segments": 55, "dof": 1005, "tet4": 55, "wedge6": 55, "hex8": 55, "ranks": 2}, + {"id": "L2", "segments": 555, "dof": 10005, "tet4": 555, "wedge6": 555, "hex8": 555, "ranks": 2}, + {"id": "L3", "segments": 1666, "dof": 30003, "tet4": 1666, "wedge6": 1666, "hex8": 1666, "ranks": 2}, + {"id": "L4", "segments": 5556, "dof": 100023, "tet4": 5556, "wedge6": 5556, "hex8": 5556, "ranks": 2} + ], + "scale_a": {"segments": 5556, "dof": 100023, "tet4": 5556, "wedge6": 5556, "hex8": 5556, "ranks": [2, 3]}, + "mesh_material_bc_load_partition_unchanged": true + }, + "solver": { + "ksp": "GMRES", + "pc": "ASM", + "rtol": 1.0e-10, + "atol": 0.0, + "dtol": 1.0e4, + "max_it": 20000, + "restart": 100, + "automatic_fallback": false, + "solver_search": false + }, + "physical_callback": { + "implemented": true, + "evaluates": "r_phys = K_original_physical*u_physical - F_original_physical on free DOFs", + "norm": "sqrt(sum_free(r_phys**2))", + "denominator": "max(sqrt(sum_free(F_physical**2)), 1.0)", + "gate": {"operator": "<=", "value": 1.0e-8}, + "mpi_reduction": "MPI SUM for squared local free residual followed by sqrt", + "stop_condition": "PETSc callback returns convergence only when physical relative residual <= gate", + "error_condition": "callback failure, invalid reduction, NaN/Inf, or PETSc breakdown remains non-converged" + }, + "force_balance": { + "definition": "norm(external_resultant + reaction_resultant) / max(norm(external_resultant), 1.0)", + "gate": {"operator": "<=", "value": 1.0e-8} + }, + "scaling_map": { + "uniform_factor": "1/E", + "diagonal_factor": "1/sqrt(diag(K/E))", + "physical_from_scaled": "u_physical = diagonal_factor*u_scaled", + "scaled_residual_from_physical": "r_scaled = diagonal_factor*(r_phys/E)", + "reconstruction_reference_relative_to_load": 7.05022211956668e-11, + "validity_gate": {"operator": "<=", "value": 1.0e-10} + }, + "partition_consistency": { + "intermediate_segments": 555, + "ranks": [1, 2, 3], + "physical_residual_gate": {"operator": "<=", "value": 1.0e-8}, + "force_balance_gate": {"operator": "<=", "value": 1.0e-8}, + "reaction_relative_gate": {"operator": "<=", "value": 1.0e-10}, + "operator_and_rhs_digest_match_required": true + }, + "ladder": { + "same_policy_required": true, + "scale_b_requires_scale_a_two_and_three_rank_pass": true, + "scale_c_requires_scale_b_pass": true + }, + "replay": { + "required": 2, + "scope": ["iterations", "PETSc reason", "scaled residual", "physical residual", "force balance", "reactions", "solution digest"], + "deterministic": true + }, + "failure_contract": { + "cases": [ + "physical_callback_failure", + "nan_physical_residual", + "invalid_scaling_map", + "mpi_reduction_failure", + "unsupported_norm_configuration", + "ksp_breakdown", + "invalid_physical_operator" + ], + "actual_execution_required": true, + "type_message_path_match_required": true, + "any_exception_is_not_automatically_pass": true, + "silent_fallback_allowed": false + }, + "scope": { + "ksp_pc_search": false, + "ksp_pc": "GMRES/ASM only", + "fem_formulation_change": false, + "physical_k_or_f_change": false, + "model_change": false, + "bc_or_load_physics_change": false, + "physical_gate_change": false, + "maturity_change": false, + "historical_evidence_change": false, + "public_claim": false + }, + "integrity": { + "numerical_source_changed": false, + "element_formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false, + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + } +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/evidence.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/evidence.json new file mode 100644 index 00000000..8f57da08 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/evidence.json @@ -0,0 +1,36123 @@ +{ + "blockers": [ + "Scale-A physical convergence and/or rank consistency remains unsatisfied." + ], + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "element_formulation_changed": false, + "failure_contract": { + "cases": [ + { + "actual_input": { + "callback_implemented": false + }, + "actual_input_digest": "c0b4558893b7f3b10b08d1da17a2ff849ed1e2c9232793c4b9bc1a1ed3def3f9", + "case_id": "physical_callback_failure", + "execution_path": "__main__.physical_callback_guard", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "callback is unavailable", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "physical_callback_guard", + "observed_message": "Native physical convergence callback is unavailable.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "runtime_encoding": "float('nan')", + "values": [ + "NaN" + ] + }, + "actual_input_digest": "5342ea951afae80bc94025f91732fb129c0f57dcd99ad2d82a814ebf5cc92155", + "case_id": "nan_physical_residual", + "execution_path": "__main__.nan_residual_guard", + "expected_exception_type": "ValueError", + "expected_message_pattern": "contains NaN/Inf", + "message_match": true, + "observed_exception_type": "ValueError", + "observed_execution_function": "nan_residual_guard", + "observed_message": "Native physical residual contains NaN/Inf.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "diagonal_factor": [ + 1.0 + ], + "uniform_factor": 0.0 + }, + "actual_input_digest": "3af8e3810d3a7d088f63686c6c84d3934a2a51ec68e4539e94e32fc71f31c72a", + "case_id": "invalid_scaling_map", + "execution_path": "__main__.scaling_map_guard", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "scaling map is invalid", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "scaling_map_guard", + "observed_message": "Native physical scaling map is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "reduced_squared_norm": "NaN", + "runtime_encoding": "float('nan')" + }, + "actual_input_digest": "abd303bdc9ed9cad4b17f484daacf61a357d75003f47b401e22ed02f1e55d1bf", + "case_id": "mpi_reduction_failure", + "execution_path": "__main__.mpi_reduction_guard", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "MPI reduction is invalid", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "mpi_reduction_guard", + "observed_message": "Native physical residual MPI reduction is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "norm_type": "PRECONDITIONED" + }, + "actual_input_digest": "a3460b339c896f98bde79d8e8acca65a1e18d87e36a1662d8f9ca7e443701041", + "case_id": "unsupported_norm_configuration", + "execution_path": "__main__.norm_configuration_guard", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "Unsupported physical callback norm", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "norm_configuration_guard", + "observed_message": "Unsupported physical callback norm configuration.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "reason": -5 + }, + "actual_input_digest": "e57b45e293e2d4e9b45e43faf4de67ce98a2f9022bc45698984eef15cbf82af1", + "case_id": "ksp_breakdown", + "execution_path": "__main__.breakdown_guard", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "KSP breakdown", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "breakdown_guard", + "observed_message": "PETSc KSP breakdown prevents physical convergence.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "dof": 33, + "shape": [ + 33, + 32 + ] + }, + "actual_input_digest": "65a59897091d599f5a8bbd4582211dae9895181234a481ec76baac23cf76479d", + "case_id": "invalid_physical_operator", + "execution_path": "__main__.physical_operator_guard", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "operator shape", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "physical_operator_guard", + "observed_message": "Invalid physical residual operator shape.", + "pass": true, + "path_match": true, + "type_match": true + } + ], + "executed": 7, + "pass": 7, + "required": 7, + "silent_fallback": false, + "status": "PASS" + }, + "force_balance": { + "definition": "norm(external_resultant + reaction_resultant) / max(norm(external_resultant), 1.0)", + "gate": { + "operator": "<=", + "value": 1e-08 + } + }, + "historical_0_2_7_evidence_changed": false, + "historical_status": { + "original_wp13_01c": "FAIL_RUNTIME", + "r1": "STILL_FAIL_RUNTIME", + "r2": "PASS_DIAGNOSTIC_FIX_REQUIRED", + "r3": "STILL_FAIL_PHYSICAL_CONVERGENCE" + }, + "iteration_history": { + "monotonicity": "NOT_STRICTLY_REQUIRED_GMRES", + "scale_a_2r": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 2.80246001165333e-09, + "physical_gate": false, + "physical_relative_residual": 0.22460987550101455, + "physical_residual_inf": 10608.785590382533, + "physical_residual_l2": 15882.31660882336 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.2553998390264497e-09, + "physical_gate": false, + "physical_relative_residual": 0.06221447010777851, + "physical_residual_inf": 3931.311657830005, + "physical_residual_l2": 4399.227370113795 + }, + { + "iteration": 3, + "petsc_scaled_norm": 1.3074654655334746e-10, + "physical_gate": false, + "physical_relative_residual": 0.01796378430551288, + "physical_residual_inf": 1150.496795296669, + "physical_residual_l2": 1270.2313698200633 + }, + { + "iteration": 4, + "petsc_scaled_norm": 7.078541803015117e-11, + "physical_gate": false, + "physical_relative_residual": 0.005980426096242984, + "physical_residual_inf": 320.44395192712545, + "physical_residual_l2": 422.87998470384065 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.757315090122606e-11, + "physical_gate": false, + "physical_relative_residual": 0.001430948130424742, + "physical_residual_inf": 26.31322317570448, + "physical_residual_l2": 101.18331265495475 + }, + { + "iteration": 6, + "petsc_scaled_norm": 9.074965851994385e-12, + "physical_gate": false, + "physical_relative_residual": 0.0006908359584342972, + "physical_residual_inf": 8.77089773118496, + "physical_residual_l2": 48.84947908963995 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.6072007144679926e-12, + "physical_gate": false, + "physical_relative_residual": 0.00012247384858278616, + "physical_residual_inf": 1.0241659283638, + "physical_residual_l2": 8.660208885090253 + }, + { + "iteration": 8, + "petsc_scaled_norm": 3.5206048129653935e-13, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "physical_residual_inf": 0.32434655725955963, + "physical_residual_l2": 2.107094062392041 + }, + { + "iteration": 9, + "petsc_scaled_norm": 6.636855418633056e-14, + "physical_gate": false, + "physical_relative_residual": 4.897376012844581e-06, + "physical_residual_inf": 0.1081702932715416, + "physical_residual_l2": 0.34629677887027405 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1434942996093187e-14, + "physical_gate": false, + "physical_relative_residual": 8.679504856486099e-07, + "physical_residual_inf": 0.00807230919599533, + "physical_residual_l2": 0.061373367413628935 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.999112873044896e-15, + "physical_gate": false, + "physical_relative_residual": 2.492916746225318e-07, + "physical_residual_inf": 0.0008761733770370483, + "physical_residual_l2": 0.01762758336189426 + }, + { + "iteration": 12, + "petsc_scaled_norm": 7.272915227763282e-16, + "physical_gate": false, + "physical_relative_residual": 5.3867438475377226e-08, + "physical_residual_inf": 8.399481748710969e-05, + "physical_residual_l2": 0.003809003103108838 + }, + { + "iteration": 13, + "petsc_scaled_norm": 9.633620162091817e-17, + "physical_gate": true, + "physical_relative_residual": 8.136801890923759e-09, + "physical_residual_inf": 1.4096498489379883e-05, + "physical_residual_l2": 0.0005753587794243713 + } + ], + "valid": true + }, + "maturity_changed": false, + "numerical_source_changed": false, + "one_million_dof_status": "NOT_RUN_SCALE_A_FAIL", + "partition_consistency": false, + "partition_results": { + "1": { + "force_balance": 9.958526457704511e-09, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326905e+21, + "frobenius_norm": 5091442989918229.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6479775403034599, + "row_sum_weighted": 116181.09954134608, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": 3.532076827818204e-09, + "reaction_error": 1.7953902891172773e-13, + "reason": 2, + "rhs_digest": "1f63bda2b90a7129bb04c8d17f2ef8ac580e10cd53e38b7910cd2f202f65db35", + "status": "PASS" + }, + "2": { + "force_balance": 9.958588773436634e-09, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916486.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6256275200078484, + "row_sum_weighted": 36537.42976676743, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": 3.5320760276164943e-09, + "reaction_error": 1.782438593559713e-13, + "reason": 2, + "rhs_digest": "1f63bda2b90a7129bb04c8d17f2ef8ac580e10cd53e38b7910cd2f202f65db35", + "status": "PASS" + }, + "3": { + "force_balance": 4.293258519726874e-08, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916668.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6222115524426189, + "row_sum_weighted": 34557.92515433872, + "shape": [ + 10005, + 10005 + ], + "trace": 2.812717945512817e+17 + }, + "physical_residual": 4.224746135676572e-09, + "reaction_error": 1.7691105601675057e-13, + "reason": 2, + "rhs_digest": "1f63bda2b90a7129bb04c8d17f2ef8ac580e10cd53e38b7910cd2f202f65db35", + "status": "FAIL_PHYSICAL_GATE" + } + }, + "physical_callback": { + "denominator": "max(sqrt(sum_free(F_physical**2)), 1.0)", + "error_condition": "callback failure, invalid reduction, NaN/Inf, or PETSc breakdown remains non-converged", + "evaluates": "r_phys = K_original_physical*u_physical - F_original_physical on free DOFs", + "gate": { + "operator": "<=", + "value": 1e-08 + }, + "implemented": true, + "mpi_reduction": "MPI SUM for squared local free residual followed by sqrt", + "norm": "sqrt(sum_free(r_phys**2))", + "stop_condition": "PETSc callback returns convergence only when physical relative residual <= gate" + }, + "rank3_breakdown_reproduced": true, + "rank3_root_cause": "GMRES_BREAKDOWN_WITH_UNCHANGED_ASM_3_RANK_PATH", + "ready_for_wp13_01c_v2": false, + "replays": { + "determinism": true, + "replay_1": { + "digest": "d1269c420b4432a09f2801688eef30ef82bab204dca102e745053a85129e91e7", + "solver_status": "FAIL_PHYSICAL_GATE", + "status": "PASS" + }, + "replay_2": { + "digest": "d1269c420b4432a09f2801688eef30ef82bab204dca102e745053a85129e91e7", + "solver_status": "FAIL_PHYSICAL_GATE", + "status": "PASS" + } + }, + "scale_a_2r": { + "result": { + "assembly_seconds": 26.06016745799934, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 9.631889424879142e-17, + "final_reported_residual": 9.633620162091817e-17, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 927998.7140548625, + "free_dof_residual_l2": 0.0005753587794243713, + "ghost_interface_residual_l2": 6423.868131182894, + "owned_dof_residual_l2": 927998.7140548625, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5972404659345.003, + "scaled_reconstructed_free_residual_l2": 0.0005753385156652065, + "scaled_to_physical_reconstruction_relative": 5.0026490287615145e-06, + "true_relative_residual": 8.136801890923759e-09, + "true_residual_inf": 26015.918857201934, + "true_residual_l2": 927998.7140548625 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.98821212952, + 0.00016670010086272669, + -0.00219823407860531 + ], + "distributed_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.1586895195724323e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06843852151723825, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 1.1787617157096974e-07, + "force_balance_relative": 1.198775023831401e-07, + "free_residual_relative": 8.136801890923759e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 13, + "ksp_final_residual": 9.633620162091817e-17, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 14, + "callback_error": null, + "final_force_balance_relative": 1.198775023831401e-07, + "final_physical_relative_residual": 8.136801890923759e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 2.80246001165333e-09, + "physical_gate": false, + "physical_relative_residual": 0.22460987550101455, + "physical_residual_inf": 10608.785590382533, + "physical_residual_l2": 15882.31660882336 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.2553998390264497e-09, + "physical_gate": false, + "physical_relative_residual": 0.06221447010777851, + "physical_residual_inf": 3931.311657830005, + "physical_residual_l2": 4399.227370113795 + }, + { + "iteration": 3, + "petsc_scaled_norm": 1.3074654655334746e-10, + "physical_gate": false, + "physical_relative_residual": 0.01796378430551288, + "physical_residual_inf": 1150.496795296669, + "physical_residual_l2": 1270.2313698200633 + }, + { + "iteration": 4, + "petsc_scaled_norm": 7.078541803015117e-11, + "physical_gate": false, + "physical_relative_residual": 0.005980426096242984, + "physical_residual_inf": 320.44395192712545, + "physical_residual_l2": 422.87998470384065 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.757315090122606e-11, + "physical_gate": false, + "physical_relative_residual": 0.001430948130424742, + "physical_residual_inf": 26.31322317570448, + "physical_residual_l2": 101.18331265495475 + }, + { + "iteration": 6, + "petsc_scaled_norm": 9.074965851994385e-12, + "physical_gate": false, + "physical_relative_residual": 0.0006908359584342972, + "physical_residual_inf": 8.77089773118496, + "physical_residual_l2": 48.84947908963995 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.6072007144679926e-12, + "physical_gate": false, + "physical_relative_residual": 0.00012247384858278616, + "physical_residual_inf": 1.0241659283638, + "physical_residual_l2": 8.660208885090253 + }, + { + "iteration": 8, + "petsc_scaled_norm": 3.5206048129653935e-13, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "physical_residual_inf": 0.32434655725955963, + "physical_residual_l2": 2.107094062392041 + }, + { + "iteration": 9, + "petsc_scaled_norm": 6.636855418633056e-14, + "physical_gate": false, + "physical_relative_residual": 4.897376012844581e-06, + "physical_residual_inf": 0.1081702932715416, + "physical_residual_l2": 0.34629677887027405 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1434942996093187e-14, + "physical_gate": false, + "physical_relative_residual": 8.679504856486099e-07, + "physical_residual_inf": 0.00807230919599533, + "physical_residual_l2": 0.061373367413628935 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.999112873044896e-15, + "physical_gate": false, + "physical_relative_residual": 2.492916746225318e-07, + "physical_residual_inf": 0.0008761733770370483, + "physical_residual_l2": 0.01762758336189426 + }, + { + "iteration": 12, + "petsc_scaled_norm": 7.272915227763282e-16, + "physical_gate": false, + "physical_relative_residual": 5.3867438475377226e-08, + "physical_residual_inf": 8.399481748710969e-05, + "physical_residual_l2": 0.003809003103108838 + }, + { + "iteration": 13, + "petsc_scaled_norm": 9.633620162091817e-17, + "physical_gate": true, + "physical_relative_residual": 8.136801890923759e-09, + "physical_residual_inf": 1.4096498489379883e-05, + "physical_residual_l2": 0.0005753587794243713 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 3.8654505960003007, + "segments": 5556, + "solution": null, + "solve_seconds": 1.423252324002533, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "scale_a_3r": { + "result": { + "assembly_seconds": 25.830757638999785, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": -5, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 6.691976545366457e-11, + "final_reported_residual": 9.485045339546517e-12, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": -5, + "reason_name": "KSP_DIVERGED_BREAKDOWN", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755428557e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 21.97473055958078, + "row_sum_weighted": 43684118.16960244, + "shape": [ + 100023, + 100023 + ], + "trace": 2.8187876037820424e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 894994.7834152447, + "free_dof_residual_l2": 404.4035207711986, + "ghost_interface_residual_l2": 9758.058384172573, + "owned_dof_residual_l2": 894994.8747801343, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 42635908031466.86, + "scaled_reconstructed_free_residual_l2": 404.4035207478212, + "scaled_to_physical_reconstruction_relative": 1.0908896397901628e-08, + "true_relative_residual": 0.005719129437460587, + "true_residual_inf": 24970.172242969275, + "true_residual_l2": 894994.8747801343 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -102462.86633141604, + 6736.96838349231, + -2798.0954272183735 + ], + "distributed_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.0310950387424964e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.0663607704991469, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.06736968383609836, + "force_balance_relative": 0.0769946696259652, + "free_residual_relative": 0.005719129437460587, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 200, + "ksp_final_residual": 9.485045339546517e-12, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.884139145745532e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "c7abdb1cc3aa0a80247bb4651e923947141580d77a50ef0ab7afcedc51a5de50", + "records": [ + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555 + ], + "owned_nodes": 11117, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333, + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111 + ], + "owned_nodes": 11112, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 11112, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": false, + "callback_count": 202, + "callback_error": null, + "final_force_balance_relative": 0.0769946696259652, + "final_physical_relative_residual": 0.005719129437460587, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 1.0643950290409876e-08, + "physical_gate": false, + "physical_relative_residual": 0.8566128914911978, + "physical_residual_inf": 30436.365727347467, + "physical_residual_l2": 60571.67844252422 + }, + { + "iteration": 2, + "petsc_scaled_norm": 5.410819734391105e-09, + "physical_gate": false, + "physical_relative_residual": 0.4799516744700369, + "physical_residual_inf": 20991.335827855954, + "physical_residual_l2": 33937.70836596015 + }, + { + "iteration": 3, + "petsc_scaled_norm": 5.410789269806079e-09, + "physical_gate": false, + "physical_relative_residual": 0.4803348850910145, + "physical_residual_inf": 20988.25115212508, + "physical_residual_l2": 33964.80544883175 + }, + { + "iteration": 4, + "petsc_scaled_norm": 5.410641540485166e-09, + "physical_gate": false, + "physical_relative_residual": 0.48180594863038934, + "physical_residual_inf": 20976.036520457757, + "physical_residual_l2": 34068.82534925657 + }, + { + "iteration": 5, + "petsc_scaled_norm": 5.3033083460018004e-09, + "physical_gate": false, + "physical_relative_residual": 0.46609224681377537, + "physical_residual_inf": 20429.360189130868, + "physical_residual_l2": 32957.69883804946 + }, + { + "iteration": 6, + "petsc_scaled_norm": 4.73425870743952e-09, + "physical_gate": false, + "physical_relative_residual": 0.45556408591786557, + "physical_residual_inf": 17107.94152423204, + "physical_residual_l2": 32213.245441757375 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.90808749015045e-09, + "physical_gate": false, + "physical_relative_residual": 0.15562381287928048, + "physical_residual_inf": 4985.788852485828, + "physical_residual_l2": 11004.26534010456 + }, + { + "iteration": 8, + "petsc_scaled_norm": 1.8883494031752596e-09, + "physical_gate": false, + "physical_relative_residual": 0.1570461608280932, + "physical_residual_inf": 5054.03855574131, + "physical_residual_l2": 11104.840528085786 + }, + { + "iteration": 9, + "petsc_scaled_norm": 1.7751726724020503e-09, + "physical_gate": false, + "physical_relative_residual": 0.12952506245376444, + "physical_residual_inf": 4513.414112124592, + "physical_residual_l2": 9158.804999466793 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.757178624013319e-09, + "physical_gate": false, + "physical_relative_residual": 0.12896305118033108, + "physical_residual_inf": 4435.748594287783, + "physical_residual_l2": 9119.064801211991 + }, + { + "iteration": 11, + "petsc_scaled_norm": 1.6832832024771842e-09, + "physical_gate": false, + "physical_relative_residual": 0.12049098612847368, + "physical_residual_inf": 4253.803913034499, + "physical_residual_l2": 8519.999336329798 + }, + { + "iteration": 12, + "petsc_scaled_norm": 1.2730990075747015e-09, + "physical_gate": false, + "physical_relative_residual": 0.11384720565735278, + "physical_residual_inf": 3924.2510074033053, + "physical_residual_l2": 8050.213113945363 + }, + { + "iteration": 13, + "petsc_scaled_norm": 1.1517443132387353e-09, + "physical_gate": false, + "physical_relative_residual": 0.09934958208626048, + "physical_residual_inf": 2576.305123580154, + "physical_residual_l2": 7025.076320124434 + }, + { + "iteration": 14, + "petsc_scaled_norm": 8.907943110033985e-10, + "physical_gate": false, + "physical_relative_residual": 0.07790452880102701, + "physical_residual_inf": 3512.133390361443, + "physical_residual_l2": 5508.68206003489 + }, + { + "iteration": 15, + "petsc_scaled_norm": 7.552042253872953e-10, + "physical_gate": false, + "physical_relative_residual": 0.07628926365332217, + "physical_residual_inf": 2367.955107253045, + "physical_residual_l2": 5394.465566099252 + }, + { + "iteration": 16, + "petsc_scaled_norm": 7.417410962485488e-10, + "physical_gate": false, + "physical_relative_residual": 0.07767732579543639, + "physical_residual_inf": 2303.1637657480314, + "physical_residual_l2": 5492.616381438981 + }, + { + "iteration": 17, + "petsc_scaled_norm": 7.417316731112667e-10, + "physical_gate": false, + "physical_relative_residual": 0.0777370276144006, + "physical_residual_inf": 2300.8912447234616, + "physical_residual_l2": 5496.837937542858 + }, + { + "iteration": 18, + "petsc_scaled_norm": 5.569029070560962e-10, + "physical_gate": false, + "physical_relative_residual": 0.051112776883687414, + "physical_residual_inf": 1836.4660669611767, + "physical_residual_l2": 3614.2191139730385 + }, + { + "iteration": 19, + "petsc_scaled_norm": 3.400957360382043e-10, + "physical_gate": false, + "physical_relative_residual": 0.03719774886024646, + "physical_residual_inf": 2031.779593758285, + "physical_residual_l2": 2630.2780463954446 + }, + { + "iteration": 20, + "petsc_scaled_norm": 3.2279800564772876e-10, + "physical_gate": false, + "physical_relative_residual": 0.034138013375893034, + "physical_residual_inf": 1841.1364015862346, + "physical_residual_l2": 2413.922075433103 + }, + { + "iteration": 21, + "petsc_scaled_norm": 3.2236318308927734e-10, + "physical_gate": false, + "physical_relative_residual": 0.03365239360574119, + "physical_residual_inf": 1774.5800053589046, + "physical_residual_l2": 2379.583572177841 + }, + { + "iteration": 22, + "petsc_scaled_norm": 3.1419036698044875e-10, + "physical_gate": false, + "physical_relative_residual": 0.03196566875189293, + "physical_residual_inf": 1606.1381365992129, + "physical_residual_l2": 2260.314113962642 + }, + { + "iteration": 23, + "petsc_scaled_norm": 8.819651332360085e-11, + "physical_gate": false, + "physical_relative_residual": 0.007019959415470598, + "physical_residual_inf": 96.76385566592216, + "physical_residual_l2": 496.3860906333613 + }, + { + "iteration": 24, + "petsc_scaled_norm": 8.770754052531412e-11, + "physical_gate": false, + "physical_relative_residual": 0.006932298511540991, + "physical_residual_inf": 91.25286561995745, + "physical_residual_l2": 490.18752867200453 + }, + { + "iteration": 25, + "petsc_scaled_norm": 8.719986708347555e-11, + "physical_gate": false, + "physical_relative_residual": 0.006858187223956023, + "physical_residual_inf": 93.15755325555801, + "physical_residual_l2": 484.9470692706248 + }, + { + "iteration": 26, + "petsc_scaled_norm": 6.842685373004291e-11, + "physical_gate": false, + "physical_relative_residual": 0.005191971702540287, + "physical_residual_inf": 65.82490429282188, + "physical_residual_l2": 367.12783985949017 + }, + { + "iteration": 27, + "petsc_scaled_norm": 6.083943980884026e-11, + "physical_gate": false, + "physical_relative_residual": 0.004637860310776474, + "physical_residual_inf": 108.29766435921192, + "physical_residual_l2": 327.94624759459936 + }, + { + "iteration": 28, + "petsc_scaled_norm": 4.537814832245259e-11, + "physical_gate": false, + "physical_relative_residual": 0.003962891933296962, + "physical_residual_inf": 129.42311827093363, + "physical_residual_l2": 280.21877591437493 + }, + { + "iteration": 29, + "petsc_scaled_norm": 3.761637349833875e-11, + "physical_gate": false, + "physical_relative_residual": 0.004296489203958415, + "physical_residual_inf": 141.6506860330701, + "physical_residual_l2": 303.8076651413787 + }, + { + "iteration": 30, + "petsc_scaled_norm": 3.301122892953307e-11, + "physical_gate": false, + "physical_relative_residual": 0.004562047329876145, + "physical_residual_inf": 147.24247370660305, + "physical_residual_l2": 322.5854603049405 + }, + { + "iteration": 31, + "petsc_scaled_norm": 2.968290857490648e-11, + "physical_gate": false, + "physical_relative_residual": 0.004758447784096572, + "physical_residual_inf": 150.97541831433773, + "physical_residual_l2": 336.4730696056787 + }, + { + "iteration": 32, + "petsc_scaled_norm": 2.7207795761609588e-11, + "physical_gate": false, + "physical_relative_residual": 0.004900090136483313, + "physical_residual_inf": 153.39259878546, + "physical_residual_l2": 346.4886963932666 + }, + { + "iteration": 33, + "petsc_scaled_norm": 2.526388944538304e-11, + "physical_gate": false, + "physical_relative_residual": 0.005009139694281949, + "physical_residual_inf": 155.2085509300232, + "physical_residual_l2": 354.1996645737476 + }, + { + "iteration": 34, + "petsc_scaled_norm": 2.3682846074177228e-11, + "physical_gate": false, + "physical_relative_residual": 0.005093479204352458, + "physical_residual_inf": 156.55297917872667, + "physical_residual_l2": 360.1633685230284 + }, + { + "iteration": 35, + "petsc_scaled_norm": 2.2366796014926553e-11, + "physical_gate": false, + "physical_relative_residual": 0.005161377537955766, + "physical_residual_inf": 157.61986181139946, + "physical_residual_l2": 364.9645057352449 + }, + { + "iteration": 36, + "petsc_scaled_norm": 2.1247867231028967e-11, + "physical_gate": false, + "physical_relative_residual": 0.005216789631362196, + "physical_residual_inf": 158.47384222596884, + "physical_residual_l2": 368.88273243598786 + }, + { + "iteration": 37, + "petsc_scaled_norm": 2.028177995831646e-11, + "physical_gate": false, + "physical_relative_residual": 0.005262967456522733, + "physical_residual_inf": 159.17757906764746, + "physical_residual_l2": 372.14799776713414 + }, + { + "iteration": 38, + "petsc_scaled_norm": 1.943648117636064e-11, + "physical_gate": false, + "physical_relative_residual": 0.005301982068527611, + "physical_residual_inf": 159.76599956303835, + "physical_residual_l2": 374.9067474385352 + }, + { + "iteration": 39, + "petsc_scaled_norm": 1.8688774946412e-11, + "physical_gate": false, + "physical_relative_residual": 0.005335382560615014, + "physical_residual_inf": 160.2657302170992, + "physical_residual_l2": 377.2685188835323 + }, + { + "iteration": 40, + "petsc_scaled_norm": 1.8021209539330667e-11, + "physical_gate": false, + "physical_relative_residual": 0.005364290072914726, + "physical_residual_inf": 160.6953073963523, + "physical_residual_l2": 379.3125886809683 + }, + { + "iteration": 41, + "petsc_scaled_norm": 1.7420423754637472e-11, + "physical_gate": false, + "physical_relative_residual": 0.005389551098313214, + "physical_residual_inf": 161.0685585141182, + "physical_residual_l2": 381.09881291686787 + }, + { + "iteration": 42, + "petsc_scaled_norm": 1.6875977612135704e-11, + "physical_gate": false, + "physical_relative_residual": 0.005411812066983233, + "physical_residual_inf": 161.39588172733784, + "physical_residual_l2": 382.6729011071031 + }, + { + "iteration": 43, + "petsc_scaled_norm": 1.6379582587280974e-11, + "physical_gate": false, + "physical_relative_residual": 0.005431575800203386, + "physical_residual_inf": 161.68525175005198, + "physical_residual_l2": 384.0704080852563 + }, + { + "iteration": 44, + "petsc_scaled_norm": 1.5924562491125892e-11, + "physical_gate": false, + "physical_relative_residual": 0.005449239071749221, + "physical_residual_inf": 161.94291293621063, + "physical_residual_l2": 385.3193899940562 + }, + { + "iteration": 45, + "petsc_scaled_norm": 1.550547154905794e-11, + "physical_gate": false, + "physical_relative_residual": 0.005465119171874582, + "physical_residual_inf": 162.1738197952509, + "physical_residual_l2": 386.4422826425126 + }, + { + "iteration": 46, + "petsc_scaled_norm": 1.5117817374973068e-11, + "physical_gate": false, + "physical_relative_residual": 0.0054794724993000084, + "physical_residual_inf": 162.38191994279623, + "physical_residual_l2": 387.4572161580236 + }, + { + "iteration": 47, + "petsc_scaled_norm": 1.4757856582372154e-11, + "physical_gate": false, + "physical_relative_residual": 0.005492508713918053, + "physical_residual_inf": 162.57043527066708, + "physical_residual_l2": 388.37901573376587 + }, + { + "iteration": 48, + "petsc_scaled_norm": 1.442244151341595e-11, + "physical_gate": false, + "physical_relative_residual": 0.005504400878306031, + "physical_residual_inf": 162.7420057952404, + "physical_residual_l2": 389.2199187419383 + }, + { + "iteration": 49, + "petsc_scaled_norm": 1.4108903638753173e-11, + "physical_gate": false, + "physical_relative_residual": 0.005515293012073931, + "physical_residual_inf": 162.89881447702646, + "physical_residual_l2": 389.99010890682564 + }, + { + "iteration": 50, + "petsc_scaled_norm": 1.3814963689787111e-11, + "physical_gate": false, + "physical_relative_residual": 0.005525305981961737, + "physical_residual_inf": 163.04268672317266, + "physical_residual_l2": 390.69813279757403 + }, + { + "iteration": 51, + "petsc_scaled_norm": 1.3538661569757667e-11, + "physical_gate": false, + "physical_relative_residual": 0.005534542114300169, + "physical_residual_inf": 163.17518050968647, + "physical_residual_l2": 391.3512259784182 + }, + { + "iteration": 52, + "petsc_scaled_norm": 1.3278301096707227e-11, + "physical_gate": false, + "physical_relative_residual": 0.005543088145749719, + "physical_residual_inf": 163.2975664064288, + "physical_residual_l2": 391.95552165743925 + }, + { + "iteration": 53, + "petsc_scaled_norm": 1.3032406006242143e-11, + "physical_gate": false, + "physical_relative_residual": 0.005551018631895228, + "physical_residual_inf": 163.4109748750925, + "physical_residual_l2": 392.5162917105988 + }, + { + "iteration": 54, + "petsc_scaled_norm": 1.2799684599233334e-11, + "physical_gate": false, + "physical_relative_residual": 0.005558397725696337, + "physical_residual_inf": 163.5163565352559, + "physical_residual_l2": 393.03807243717637 + }, + { + "iteration": 55, + "petsc_scaled_norm": 1.2579001096134852e-11, + "physical_gate": false, + "physical_relative_residual": 0.0055652809533713625, + "physical_residual_inf": 163.61453865468502, + "physical_residual_l2": 393.5247901337225 + }, + { + "iteration": 56, + "petsc_scaled_norm": 1.2369352244359998e-11, + "physical_gate": false, + "physical_relative_residual": 0.005571716544292229, + "physical_residual_inf": 163.7062197625637, + "physical_residual_l2": 393.97985513183124 + }, + { + "iteration": 57, + "petsc_scaled_norm": 1.2169848076945759e-11, + "physical_gate": false, + "physical_relative_residual": 0.005577746852715008, + "physical_residual_inf": 163.79203715920448, + "physical_residual_l2": 394.40626232967054 + }, + { + "iteration": 58, + "petsc_scaled_norm": 1.1979695979047635e-11, + "physical_gate": false, + "physical_relative_residual": 0.005583408948172608, + "physical_residual_inf": 163.87254124879837, + "physical_residual_l2": 394.80663293905 + }, + { + "iteration": 59, + "petsc_scaled_norm": 1.1798187410559031e-11, + "physical_gate": false, + "physical_relative_residual": 0.00558873548700578, + "physical_residual_inf": 163.94819431006908, + "physical_residual_l2": 395.183276111969 + }, + { + "iteration": 60, + "petsc_scaled_norm": 1.1624686776947726e-11, + "physical_gate": false, + "physical_relative_residual": 0.00559375544483029, + "physical_residual_inf": 164.01943085342646, + "physical_residual_l2": 395.53824073386716 + }, + { + "iteration": 61, + "petsc_scaled_norm": 1.1458622049268445e-11, + "physical_gate": false, + "physical_relative_residual": 0.005598494544768313, + "physical_residual_inf": 164.08662885427475, + "physical_residual_l2": 395.87334570415675 + }, + { + "iteration": 62, + "petsc_scaled_norm": 1.1299476817463608e-11, + "physical_gate": false, + "physical_relative_residual": 0.005602975731621417, + "physical_residual_inf": 164.15011973679066, + "physical_residual_l2": 396.19021346531616 + }, + { + "iteration": 63, + "petsc_scaled_norm": 1.1146783525111418e-11, + "physical_gate": false, + "physical_relative_residual": 0.0056072193808511545, + "physical_residual_inf": 164.21019369363785, + "physical_residual_l2": 396.4902847800486 + }, + { + "iteration": 64, + "petsc_scaled_norm": 1.1000117683494452e-11, + "physical_gate": false, + "physical_relative_residual": 0.0056112440222276265, + "physical_residual_inf": 164.26713471859694, + "physical_residual_l2": 396.7748699009633 + }, + { + "iteration": 65, + "petsc_scaled_norm": 1.0859092901742456e-11, + "physical_gate": false, + "physical_relative_residual": 0.005615066060972458, + "physical_residual_inf": 164.32117062807083, + "physical_residual_l2": 397.04512885240615 + }, + { + "iteration": 66, + "petsc_scaled_norm": 1.0723356600416384e-11, + "physical_gate": false, + "physical_relative_residual": 0.005618700511973477, + "physical_residual_inf": 164.37252628803253, + "physical_residual_l2": 397.30212334727725 + }, + { + "iteration": 67, + "petsc_scaled_norm": 1.0592586300166696e-11, + "physical_gate": false, + "physical_relative_residual": 0.00562216077075274, + "physical_residual_inf": 164.42138930410147, + "physical_residual_l2": 397.5468005920249 + }, + { + "iteration": 68, + "petsc_scaled_norm": 1.046648639645491e-11, + "physical_gate": false, + "physical_relative_residual": 0.005625459106940688, + "physical_residual_inf": 164.46793965250254, + "physical_residual_l2": 397.78002818053807 + }, + { + "iteration": 69, + "petsc_scaled_norm": 1.034478534685327e-11, + "physical_gate": false, + "physical_relative_residual": 0.00562860663292867, + "physical_residual_inf": 164.5123439207673, + "physical_residual_l2": 398.0025918775443 + }, + { + "iteration": 70, + "petsc_scaled_norm": 1.0227233209966693e-11, + "physical_gate": false, + "physical_relative_residual": 0.005631613314242821, + "physical_residual_inf": 164.55472441017628, + "physical_residual_l2": 398.21519635215463 + }, + { + "iteration": 71, + "petsc_scaled_norm": 1.0113599485180666e-11, + "physical_gate": false, + "physical_relative_residual": 0.005634488622337847, + "physical_residual_inf": 164.5952448770404, + "physical_residual_l2": 398.418511337354 + }, + { + "iteration": 72, + "petsc_scaled_norm": 1.0003671210722824e-11, + "physical_gate": false, + "physical_relative_residual": 0.005637240856328176, + "physical_residual_inf": 164.63401192426682, + "physical_residual_l2": 398.6131236691514 + }, + { + "iteration": 73, + "petsc_scaled_norm": 9.897251284309973e-12, + "physical_gate": false, + "physical_relative_residual": 0.005639877768486924, + "physical_residual_inf": 164.67114252597094, + "physical_residual_l2": 398.79958151603574 + }, + { + "iteration": 74, + "petsc_scaled_norm": 9.79415697623588e-12, + "physical_gate": false, + "physical_relative_residual": 0.005642406433444117, + "physical_residual_inf": 164.70672634243965, + "physical_residual_l2": 398.9783851298938 + }, + { + "iteration": 75, + "petsc_scaled_norm": 9.694218609369764e-12, + "physical_gate": false, + "physical_relative_residual": 0.005644833356800561, + "physical_residual_inf": 164.7408608570695, + "physical_residual_l2": 399.1499945261699 + }, + { + "iteration": 76, + "petsc_scaled_norm": 9.597278384364805e-12, + "physical_gate": false, + "physical_relative_residual": 0.005647164628563543, + "physical_residual_inf": 164.77364520728588, + "physical_residual_l2": 399.3148403334092 + }, + { + "iteration": 77, + "petsc_scaled_norm": 9.503189331568424e-12, + "physical_gate": false, + "physical_relative_residual": 0.005649405766100023, + "physical_residual_inf": 164.8051499724388, + "physical_residual_l2": 399.4733126883709 + }, + { + "iteration": 78, + "petsc_scaled_norm": 9.41181437379491e-12, + "physical_gate": false, + "physical_relative_residual": 0.00565156192018897, + "physical_residual_inf": 164.8354506343603, + "physical_residual_l2": 399.62577580612873 + }, + { + "iteration": 79, + "petsc_scaled_norm": 9.32302548636335e-12, + "physical_gate": false, + "physical_relative_residual": 0.005653637725932632, + "physical_residual_inf": 164.86460179835558, + "physical_residual_l2": 399.7725574379056 + }, + { + "iteration": 80, + "petsc_scaled_norm": 9.236702942692079e-12, + "physical_gate": false, + "physical_relative_residual": 0.005655637705122068, + "physical_residual_inf": 164.89268638193607, + "physical_residual_l2": 399.91397732261385 + }, + { + "iteration": 81, + "petsc_scaled_norm": 9.152734635337446e-12, + "physical_gate": false, + "physical_relative_residual": 0.005657565945456034, + "physical_residual_inf": 164.9197591021657, + "physical_residual_l2": 400.0503245042043 + }, + { + "iteration": 82, + "petsc_scaled_norm": 9.071015463719925e-12, + "physical_gate": false, + "physical_relative_residual": 0.00565942614244383, + "physical_residual_inf": 164.9458603784442, + "physical_residual_l2": 400.1818602946456 + }, + { + "iteration": 83, + "petsc_scaled_norm": 8.991446780931982e-12, + "physical_gate": false, + "physical_relative_residual": 0.005661221943864162, + "physical_residual_inf": 164.97106020897627, + "physical_residual_l2": 400.3088426308438 + }, + { + "iteration": 84, + "petsc_scaled_norm": 8.913935893006191e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056629564897438, + "physical_residual_inf": 164.99538058042526, + "physical_residual_l2": 400.43149354622085 + }, + { + "iteration": 85, + "petsc_scaled_norm": 8.83839560486379e-12, + "physical_gate": false, + "physical_relative_residual": 0.005664633017938229, + "physical_residual_inf": 165.01889031380415, + "physical_residual_l2": 400.55004199173396 + }, + { + "iteration": 86, + "petsc_scaled_norm": 8.76474380788634e-12, + "physical_gate": false, + "physical_relative_residual": 0.005666254330386419, + "physical_residual_inf": 165.04162164777517, + "physical_residual_l2": 400.6646860943877 + }, + { + "iteration": 87, + "petsc_scaled_norm": 8.692903104674978e-12, + "physical_gate": false, + "physical_relative_residual": 0.005667823030266716, + "physical_residual_inf": 165.06359937787056, + "physical_residual_l2": 400.7756099266882 + }, + { + "iteration": 88, + "petsc_scaled_norm": 8.6228004670984e-12, + "physical_gate": false, + "physical_relative_residual": 0.005669341780167575, + "physical_residual_inf": 165.08488169312477, + "physical_residual_l2": 400.8830017620706 + }, + { + "iteration": 89, + "petsc_scaled_norm": 8.554366924194858e-12, + "physical_gate": false, + "physical_relative_residual": 0.00567081285347783, + "physical_residual_inf": 165.10548807680607, + "physical_residual_l2": 400.98702235340096 + }, + { + "iteration": 90, + "petsc_scaled_norm": 8.48753727689602e-12, + "physical_gate": false, + "physical_relative_residual": 0.005672238433742042, + "physical_residual_inf": 165.12545012682676, + "physical_residual_l2": 401.0878261005959 + }, + { + "iteration": 91, + "petsc_scaled_norm": 8.422249836890262e-12, + "physical_gate": false, + "physical_relative_residual": 0.005673620646038907, + "physical_residual_inf": 165.14480759948492, + "physical_residual_l2": 401.1855632694112 + }, + { + "iteration": 92, + "petsc_scaled_norm": 8.358446187248107e-12, + "physical_gate": false, + "physical_relative_residual": 0.005674961432952079, + "physical_residual_inf": 165.163573294878, + "physical_residual_l2": 401.2803712212542 + }, + { + "iteration": 93, + "petsc_scaled_norm": 8.29607096269837e-12, + "physical_gate": false, + "physical_relative_residual": 0.005676262618345437, + "physical_residual_inf": 165.1817899942398, + "physical_residual_l2": 401.37237892277665 + }, + { + "iteration": 94, + "petsc_scaled_norm": 8.235071647676516e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056775259139330795, + "physical_residual_inf": 165.1994625478983, + "physical_residual_l2": 401.4617074104432 + }, + { + "iteration": 95, + "petsc_scaled_norm": 8.175398390471113e-12, + "physical_gate": false, + "physical_relative_residual": 0.005678752949995459, + "physical_residual_inf": 165.2166265770793, + "physical_residual_l2": 401.54847196249005 + }, + { + "iteration": 96, + "petsc_scaled_norm": 8.117003831973417e-12, + "physical_gate": false, + "physical_relative_residual": 0.005679945302898208, + "physical_residual_inf": 165.23330158740282, + "physical_residual_l2": 401.6327840448002 + }, + { + "iteration": 97, + "petsc_scaled_norm": 8.059842947693092e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056811044082949866, + "physical_residual_inf": 165.24951174110174, + "physical_residual_l2": 401.7147451734174 + }, + { + "iteration": 98, + "petsc_scaled_norm": 8.00387290184254e-12, + "physical_gate": false, + "physical_relative_residual": 0.005682231620130264, + "physical_residual_inf": 165.26527177542448, + "physical_residual_l2": 401.79445108667323 + }, + { + "iteration": 99, + "petsc_scaled_norm": 7.94905291241504e-12, + "physical_gate": false, + "physical_relative_residual": 0.005683328253930057, + "physical_residual_inf": 165.28060329705477, + "physical_residual_l2": 401.8719948063045 + }, + { + "iteration": 100, + "petsc_scaled_norm": 7.895344126291133e-12, + "physical_gate": false, + "physical_relative_residual": 0.005684395538592868, + "physical_residual_inf": 165.29552077502012, + "physical_residual_l2": 401.94746322855747 + }, + { + "iteration": 100, + "petsc_scaled_norm": 6.705102661003929e-11, + "physical_gate": false, + "physical_relative_residual": 0.005684395538592868, + "physical_residual_inf": 165.29552077502012, + "physical_residual_l2": 401.94746322855747 + }, + { + "iteration": 101, + "petsc_scaled_norm": 6.704632500248803e-11, + "physical_gate": false, + "physical_relative_residual": 0.005682381636197498, + "physical_residual_inf": 165.27698933333158, + "physical_residual_l2": 401.80505882451604 + }, + { + "iteration": 102, + "petsc_scaled_norm": 6.704258105695133e-11, + "physical_gate": false, + "physical_relative_residual": 0.00568131425595592, + "physical_residual_inf": 165.26130467653275, + "physical_residual_l2": 401.7295836438236 + }, + { + "iteration": 103, + "petsc_scaled_norm": 6.70343744086747e-11, + "physical_gate": false, + "physical_relative_residual": 0.00567885040655522, + "physical_residual_inf": 165.217690654099, + "physical_residual_l2": 401.55536318191787 + }, + { + "iteration": 104, + "petsc_scaled_norm": 6.702488326423443e-11, + "physical_gate": false, + "physical_relative_residual": 0.005677701516311353, + "physical_residual_inf": 165.17508527636528, + "physical_residual_l2": 401.4741243736902 + }, + { + "iteration": 105, + "petsc_scaled_norm": 6.702386445482164e-11, + "physical_gate": false, + "physical_relative_residual": 0.005678300001933315, + "physical_residual_inf": 165.14034850895405, + "physical_residual_l2": 401.51644369786334 + }, + { + "iteration": 106, + "petsc_scaled_norm": 6.701892661150834e-11, + "physical_gate": false, + "physical_relative_residual": 0.005678227293642268, + "physical_residual_inf": 165.21616938710213, + "physical_residual_l2": 401.51130244529855 + }, + { + "iteration": 107, + "petsc_scaled_norm": 6.700486542244951e-11, + "physical_gate": false, + "physical_relative_residual": 0.00567391384921359, + "physical_residual_inf": 165.3197178170085, + "physical_residual_l2": 401.2062958647196 + }, + { + "iteration": 108, + "petsc_scaled_norm": 6.69078578131501e-11, + "physical_gate": false, + "physical_relative_residual": 0.005663063656322638, + "physical_residual_inf": 164.65072333812714, + "physical_residual_l2": 400.4390713676822 + }, + { + "iteration": 109, + "petsc_scaled_norm": 6.673750852104399e-11, + "physical_gate": false, + "physical_relative_residual": 0.005662816132973669, + "physical_residual_inf": 163.81379402428865, + "physical_residual_l2": 400.42156882382636 + }, + { + "iteration": 110, + "petsc_scaled_norm": 6.669757310385541e-11, + "physical_gate": false, + "physical_relative_residual": 0.005658882513959503, + "physical_residual_inf": 163.7092956379056, + "physical_residual_l2": 400.14341995587426 + }, + { + "iteration": 111, + "petsc_scaled_norm": 6.665297946755092e-11, + "physical_gate": false, + "physical_relative_residual": 0.005660383040072083, + "physical_residual_inf": 163.2088963240385, + "physical_residual_l2": 400.24952317482956 + }, + { + "iteration": 112, + "petsc_scaled_norm": 6.66124395146612e-11, + "physical_gate": false, + "physical_relative_residual": 0.005658204699597325, + "physical_residual_inf": 162.75620298832655, + "physical_residual_l2": 400.09549124268614 + }, + { + "iteration": 113, + "petsc_scaled_norm": 6.532060831771971e-11, + "physical_gate": false, + "physical_relative_residual": 0.005626789484964978, + "physical_residual_inf": 157.35565887391567, + "physical_residual_l2": 397.87410011278973 + }, + { + "iteration": 114, + "petsc_scaled_norm": 6.399323572886394e-11, + "physical_gate": false, + "physical_relative_residual": 0.0055810814162404855, + "physical_residual_inf": 150.7356634363532, + "physical_residual_l2": 394.64205157778684 + }, + { + "iteration": 115, + "petsc_scaled_norm": 6.33862175922027e-11, + "physical_gate": false, + "physical_relative_residual": 0.005528678621755433, + "physical_residual_inf": 147.57674991339445, + "physical_residual_l2": 390.93661444443626 + }, + { + "iteration": 116, + "petsc_scaled_norm": 6.327257042789579e-11, + "physical_gate": false, + "physical_relative_residual": 0.005569699637361766, + "physical_residual_inf": 146.82559456676245, + "physical_residual_l2": 393.83723827507595 + }, + { + "iteration": 117, + "petsc_scaled_norm": 6.327069570107501e-11, + "physical_gate": false, + "physical_relative_residual": 0.005575687568144659, + "physical_residual_inf": 146.8201399296522, + "physical_residual_l2": 394.2606489212619 + }, + { + "iteration": 118, + "petsc_scaled_norm": 6.176038965374457e-11, + "physical_gate": false, + "physical_relative_residual": 0.005604906855484476, + "physical_residual_inf": 144.4987237304449, + "physical_residual_l2": 396.32676454320415 + }, + { + "iteration": 119, + "petsc_scaled_norm": 2.994459616606792e-11, + "physical_gate": false, + "physical_relative_residual": 0.0024337796352644943, + "physical_residual_inf": 58.55878732496649, + "physical_residual_l2": 172.09420840092463 + }, + { + "iteration": 120, + "petsc_scaled_norm": 2.7662973140034807e-11, + "physical_gate": false, + "physical_relative_residual": 0.002363356150912207, + "physical_residual_inf": 78.26836785674095, + "physical_residual_l2": 167.11451606689593 + }, + { + "iteration": 121, + "petsc_scaled_norm": 2.623351727704782e-11, + "physical_gate": false, + "physical_relative_residual": 0.0022797372212519326, + "physical_residual_inf": 83.77296379208565, + "physical_residual_l2": 161.20176484706184 + }, + { + "iteration": 122, + "petsc_scaled_norm": 2.484310433551814e-11, + "physical_gate": false, + "physical_relative_residual": 0.0020051700184374513, + "physical_residual_inf": 44.993958592414856, + "physical_residual_l2": 141.78693174690764 + }, + { + "iteration": 123, + "petsc_scaled_norm": 2.4809499009029188e-11, + "physical_gate": false, + "physical_relative_residual": 0.0020191392802134393, + "physical_residual_inf": 47.044768050312996, + "physical_residual_l2": 142.77470771990477 + }, + { + "iteration": 124, + "petsc_scaled_norm": 1.8484311908927255e-11, + "physical_gate": false, + "physical_relative_residual": 0.0016374925583861443, + "physical_residual_inf": 44.65770084410906, + "physical_residual_l2": 115.78820921773514 + }, + { + "iteration": 125, + "petsc_scaled_norm": 1.6897945575777477e-11, + "physical_gate": false, + "physical_relative_residual": 0.00144834097845206, + "physical_residual_inf": 35.64571965485811, + "physical_residual_l2": 102.4131727333811 + }, + { + "iteration": 126, + "petsc_scaled_norm": 1.6489290032558252e-11, + "physical_gate": false, + "physical_relative_residual": 0.0014904698192523132, + "physical_residual_inf": 35.95154112577438, + "physical_residual_l2": 105.39213163471986 + }, + { + "iteration": 127, + "petsc_scaled_norm": 1.638079203267918e-11, + "physical_gate": false, + "physical_relative_residual": 0.0015508806262156249, + "physical_residual_inf": 37.188062854111195, + "physical_residual_l2": 109.66382076079077 + }, + { + "iteration": 128, + "petsc_scaled_norm": 1.5760641798247293e-11, + "physical_gate": false, + "physical_relative_residual": 0.001520296134385655, + "physical_residual_inf": 36.78208224475384, + "physical_residual_l2": 107.50117060357914 + }, + { + "iteration": 129, + "petsc_scaled_norm": 1.5652561481786773e-11, + "physical_gate": false, + "physical_relative_residual": 0.0015560902903043073, + "physical_residual_inf": 37.06665503233671, + "physical_residual_l2": 110.03219964127192 + }, + { + "iteration": 130, + "petsc_scaled_norm": 1.545508039223523e-11, + "physical_gate": false, + "physical_relative_residual": 0.0016206828802737662, + "physical_residual_inf": 37.34733371436596, + "physical_residual_l2": 114.59958547945257 + }, + { + "iteration": 131, + "petsc_scaled_norm": 1.5275842042045534e-11, + "physical_gate": false, + "physical_relative_residual": 0.0016981839738369692, + "physical_residual_inf": 37.62356358766556, + "physical_residual_l2": 120.07974036024396 + }, + { + "iteration": 132, + "petsc_scaled_norm": 1.5102476613143237e-11, + "physical_gate": false, + "physical_relative_residual": 0.001786483623162977, + "physical_residual_inf": 37.88254773616791, + "physical_residual_l2": 126.32346844172538 + }, + { + "iteration": 133, + "petsc_scaled_norm": 1.4934840633976334e-11, + "physical_gate": false, + "physical_relative_residual": 0.0018819724110862555, + "physical_residual_inf": 38.131670758128166, + "physical_residual_l2": 133.07554538850883 + }, + { + "iteration": 134, + "petsc_scaled_norm": 1.4772639696678188e-11, + "physical_gate": false, + "physical_relative_residual": 0.0019820247782828615, + "physical_residual_inf": 38.36962520331144, + "physical_residual_l2": 140.15031612035747 + }, + { + "iteration": 135, + "petsc_scaled_norm": 1.4615627272977137e-11, + "physical_gate": false, + "physical_relative_residual": 0.002084660395538175, + "physical_residual_inf": 38.597610272467136, + "physical_residual_l2": 147.40775021560742 + }, + { + "iteration": 136, + "petsc_scaled_norm": 1.4463512055526682e-11, + "physical_gate": false, + "physical_relative_residual": 0.002188427168135409, + "physical_residual_inf": 38.81613325327635, + "physical_residual_l2": 154.74516907214206 + }, + { + "iteration": 137, + "petsc_scaled_norm": 1.431605085817233e-11, + "physical_gate": false, + "physical_relative_residual": 0.0022922621944843863, + "physical_residual_inf": 39.02579416334629, + "physical_residual_l2": 162.08741419774663 + }, + { + "iteration": 138, + "petsc_scaled_norm": 1.4173009609567152e-11, + "physical_gate": false, + "physical_relative_residual": 0.0023953987467236473, + "physical_residual_inf": 39.22711659222841, + "physical_residual_l2": 169.38026974540483 + }, + { + "iteration": 139, + "petsc_scaled_norm": 1.4034172138435327e-11, + "physical_gate": false, + "physical_relative_residual": 0.0024972884791783453, + "physical_residual_inf": 39.42058937251568, + "physical_residual_l2": 176.58496182060483 + }, + { + "iteration": 140, + "petsc_scaled_norm": 1.3899336435780909e-11, + "physical_gate": false, + "physical_relative_residual": 0.0025975448286501036, + "physical_residual_inf": 39.6066624969244, + "physical_residual_l2": 183.6741562774537 + }, + { + "iteration": 141, + "petsc_scaled_norm": 1.3768313891970917e-11, + "physical_gate": false, + "physical_relative_residual": 0.0026959008022218486, + "physical_residual_inf": 39.785752564668655, + "physical_residual_l2": 190.6289738657323 + }, + { + "iteration": 142, + "petsc_scaled_norm": 1.3640928101587891e-11, + "physical_gate": false, + "physical_relative_residual": 0.0027921778829846223, + "physical_residual_inf": 39.95824544131756, + "physical_residual_l2": 197.4367915337525 + }, + { + "iteration": 143, + "petsc_scaled_norm": 1.3517013878765355e-11, + "physical_gate": false, + "physical_relative_residual": 0.00288626301826718, + "physical_residual_inf": 40.124499186873436, + "physical_residual_l2": 204.08961525046752 + }, + { + "iteration": 144, + "petsc_scaled_norm": 1.3396416354216834e-11, + "physical_gate": false, + "physical_relative_residual": 0.002978091706757054, + "physical_residual_inf": 40.284846134483814, + "physical_residual_l2": 210.58288408433322 + }, + { + "iteration": 145, + "petsc_scaled_norm": 1.3278990161613637e-11, + "physical_gate": false, + "physical_relative_residual": 0.003067635334793534, + "physical_residual_inf": 40.43959566950798, + "physical_residual_l2": 216.91457474399732 + }, + { + "iteration": 146, + "petsc_scaled_norm": 1.3164598700737065e-11, + "physical_gate": false, + "physical_relative_residual": 0.0031548918451412, + "physical_residual_inf": 40.58903580904007, + "physical_residual_l2": 223.08454176094818 + }, + { + "iteration": 147, + "petsc_scaled_norm": 1.3053113469325589e-11, + "physical_gate": false, + "physical_relative_residual": 0.003239878673712865, + "physical_residual_inf": 40.73343525826931, + "physical_residual_l2": 229.09401804040448 + }, + { + "iteration": 148, + "petsc_scaled_norm": 1.2944413456122529e-11, + "physical_gate": false, + "physical_relative_residual": 0.0033226274734655375, + "physical_residual_inf": 40.873044684529305, + "physical_residual_l2": 234.94524178442072 + }, + { + "iteration": 149, + "petsc_scaled_norm": 1.2838384588612199e-11, + "physical_gate": false, + "physical_relative_residual": 0.003403180124790677, + "physical_residual_inf": 41.00809869170189, + "physical_residual_l2": 240.6411743838769 + }, + { + "iteration": 150, + "petsc_scaled_norm": 1.2734919229720527e-11, + "physical_gate": false, + "physical_relative_residual": 0.003481585756392777, + "physical_residual_inf": 41.22436069017749, + "physical_residual_l2": 246.18528976278282 + }, + { + "iteration": 151, + "petsc_scaled_norm": 1.263391571842652e-11, + "physical_gate": false, + "physical_relative_residual": 0.0035578983920850427, + "physical_residual_inf": 42.35250269046401, + "physical_residual_l2": 251.58140798160477 + }, + { + "iteration": 152, + "petsc_scaled_norm": 1.2535277949828324e-11, + "physical_gate": false, + "physical_relative_residual": 0.00363217526630055, + "physical_residual_inf": 43.445550180219925, + "physical_residual_l2": 256.8335761259173 + }, + { + "iteration": 153, + "petsc_scaled_norm": 1.2438914990721034e-11, + "physical_gate": false, + "physical_relative_residual": 0.0037044755206388125, + "physical_residual_inf": 44.54916080087423, + "physical_residual_l2": 261.94597613832707 + }, + { + "iteration": 154, + "petsc_scaled_norm": 1.234474072719109e-11, + "physical_gate": false, + "physical_relative_residual": 0.0037748591520540544, + "physical_residual_inf": 46.11495612561703, + "physical_residual_l2": 266.9228504441523 + }, + { + "iteration": 155, + "petsc_scaled_norm": 1.2252673541123384e-11, + "physical_gate": false, + "physical_relative_residual": 0.003843386286740101, + "physical_residual_inf": 47.63421295583248, + "physical_residual_l2": 271.76845060733103 + }, + { + "iteration": 156, + "petsc_scaled_norm": 1.2162636012857732e-11, + "physical_gate": false, + "physical_relative_residual": 0.003910116635568176, + "physical_residual_inf": 49.108979642391205, + "physical_residual_l2": 276.4869988240586 + }, + { + "iteration": 157, + "petsc_scaled_norm": 1.2074554647533112e-11, + "physical_gate": false, + "physical_relative_residual": 0.003975109040184309, + "physical_residual_inf": 50.541177213191986, + "physical_residual_l2": 281.08265582702734 + }, + { + "iteration": 158, + "petsc_scaled_norm": 1.1988359622921697e-11, + "physical_gate": false, + "physical_relative_residual": 0.004038421199065167, + "physical_residual_inf": 51.932628355920315, + "physical_residual_l2": 285.5595015146488 + }, + { + "iteration": 159, + "petsc_scaled_norm": 1.190398455678599e-11, + "physical_gate": false, + "physical_relative_residual": 0.004100109405005818, + "physical_residual_inf": 53.28504404425621, + "physical_residual_l2": 289.9215163886355 + }, + { + "iteration": 160, + "petsc_scaled_norm": 1.182136629199864e-11, + "physical_gate": false, + "physical_relative_residual": 0.004160228416599934, + "physical_residual_inf": 54.60004425048828, + "physical_residual_l2": 294.1725724662787 + }, + { + "iteration": 161, + "petsc_scaled_norm": 1.1740444697841467e-11, + "physical_gate": false, + "physical_relative_residual": 0.00421883135874786, + "physical_residual_inf": 55.879160456359386, + "physical_residual_l2": 298.3164262453068 + }, + { + "iteration": 162, + "petsc_scaled_norm": 1.1661162486066402e-11, + "physical_gate": false, + "physical_relative_residual": 0.004275969654453714, + "physical_residual_inf": 57.1238432303071, + "physical_residual_l2": 302.35671388121193 + }, + { + "iteration": 163, + "petsc_scaled_norm": 1.1583465040437646e-11, + "physical_gate": false, + "physical_relative_residual": 0.004331692979323949, + "physical_residual_inf": 58.33546309173107, + "physical_residual_l2": 306.2969479698124 + }, + { + "iteration": 164, + "petsc_scaled_norm": 1.150730025860331e-11, + "physical_gate": false, + "physical_relative_residual": 0.004386049264496075, + "physical_residual_inf": 59.515321150422096, + "physical_residual_l2": 310.1405177543444 + }, + { + "iteration": 165, + "petsc_scaled_norm": 1.1432618405256323e-11, + "physical_gate": false, + "physical_relative_residual": 0.004439084715594255, + "physical_residual_inf": 60.66464802622795, + "physical_residual_l2": 313.89069046582546 + }, + { + "iteration": 166, + "petsc_scaled_norm": 1.1359371975643873e-11, + "physical_gate": false, + "physical_relative_residual": 0.004490843816219308, + "physical_residual_inf": 61.78461579233408, + "physical_residual_l2": 317.55061156983464 + }, + { + "iteration": 167, + "petsc_scaled_norm": 1.1287515568574663e-11, + "physical_gate": false, + "physical_relative_residual": 0.004541369389248536, + "physical_residual_inf": 62.87633763998747, + "physical_residual_l2": 321.123309101065 + }, + { + "iteration": 168, + "petsc_scaled_norm": 1.12170057681532e-11, + "physical_gate": false, + "physical_relative_residual": 0.004590702590551331, + "physical_residual_inf": 63.940862864255905, + "physical_residual_l2": 324.6116932189497 + }, + { + "iteration": 169, + "petsc_scaled_norm": 1.1147801033539586e-11, + "physical_gate": false, + "physical_relative_residual": 0.004638883013177253, + "physical_residual_inf": 64.97919897735119, + "physical_residual_l2": 328.018563574872 + }, + { + "iteration": 170, + "petsc_scaled_norm": 1.1079861596100703e-11, + "physical_gate": false, + "physical_relative_residual": 0.004685948698577817, + "physical_residual_inf": 65.99230193346739, + "physical_residual_l2": 331.34661010566515 + }, + { + "iteration": 171, + "petsc_scaled_norm": 1.1013149363373001e-11, + "physical_gate": false, + "physical_relative_residual": 0.004731936178436482, + "physical_residual_inf": 66.98107463121414, + "physical_residual_l2": 334.59841599143937 + }, + { + "iteration": 172, + "petsc_scaled_norm": 1.0947627829310535e-11, + "physical_gate": false, + "physical_relative_residual": 0.004776880601049372, + "physical_residual_inf": 67.94638967514038, + "physical_residual_l2": 337.7764665920482 + }, + { + "iteration": 173, + "petsc_scaled_norm": 1.088326199033815e-11, + "physical_gate": false, + "physical_relative_residual": 0.004820815680957667, + "physical_residual_inf": 68.88906879723072, + "physical_residual_l2": 340.8831458855611 + }, + { + "iteration": 174, + "petsc_scaled_norm": 1.0820018266770286e-11, + "physical_gate": false, + "physical_relative_residual": 0.004863773845088155, + "physical_residual_inf": 69.80990219861269, + "physical_residual_l2": 343.9207468019603 + }, + { + "iteration": 175, + "petsc_scaled_norm": 1.0757864429195644e-11, + "physical_gate": false, + "physical_relative_residual": 0.0049057861953493076, + "physical_residual_inf": 70.70963376760483, + "physical_residual_l2": 346.89146857828484 + }, + { + "iteration": 176, + "petsc_scaled_norm": 1.0696769529460809e-11, + "physical_gate": false, + "physical_relative_residual": 0.004946882663971067, + "physical_residual_inf": 71.5889884904027, + "physical_residual_l2": 349.7974277428115 + }, + { + "iteration": 177, + "petsc_scaled_norm": 1.0636703835916614e-11, + "physical_gate": false, + "physical_relative_residual": 0.004987091975718736, + "physical_residual_inf": 72.44864331930876, + "physical_residual_l2": 352.64065544317356 + }, + { + "iteration": 178, + "petsc_scaled_norm": 1.0577638772620282e-11, + "physical_gate": false, + "physical_relative_residual": 0.005026441762642522, + "physical_residual_inf": 73.2892599105835, + "physical_residual_l2": 355.423105560379 + }, + { + "iteration": 179, + "petsc_scaled_norm": 1.0519546862210672e-11, + "physical_gate": false, + "physical_relative_residual": 0.005064958549171331, + "physical_residual_inf": 74.11145938187838, + "physical_residual_l2": 358.1466536547826 + }, + { + "iteration": 180, + "petsc_scaled_norm": 1.046240167219673e-11, + "physical_gate": false, + "physical_relative_residual": 0.005102667855853208, + "physical_residual_inf": 74.91584118455648, + "physical_residual_l2": 360.8131043016424 + }, + { + "iteration": 181, + "petsc_scaled_norm": 1.040617776442106e-11, + "physical_gate": false, + "physical_relative_residual": 0.005139594205616129, + "physical_residual_inf": 75.7029792368412, + "physical_residual_l2": 363.4241915338252 + }, + { + "iteration": 182, + "petsc_scaled_norm": 1.0350850647479804e-11, + "physical_gate": false, + "physical_relative_residual": 0.005175761198306801, + "physical_residual_inf": 76.47342335432768, + "physical_residual_l2": 365.98158411249506 + }, + { + "iteration": 183, + "petsc_scaled_norm": 1.029639673189486e-11, + "physical_gate": false, + "physical_relative_residual": 0.005211191497890653, + "physical_residual_inf": 77.22769446671009, + "physical_residual_l2": 368.4868846220163 + }, + { + "iteration": 184, + "petsc_scaled_norm": 1.0242793287854518e-11, + "physical_gate": false, + "physical_relative_residual": 0.005245906952048466, + "physical_residual_inf": 77.96630132198334, + "physical_residual_l2": 370.94163792671236 + }, + { + "iteration": 185, + "petsc_scaled_norm": 1.0190018405348437e-11, + "physical_gate": false, + "physical_relative_residual": 0.005279928553869612, + "physical_residual_inf": 78.6897247955203, + "physical_residual_l2": 373.34732846216843 + }, + { + "iteration": 186, + "petsc_scaled_norm": 1.0138050956539292e-11, + "physical_gate": false, + "physical_relative_residual": 0.0053132765247978, + "physical_residual_inf": 79.39843005686998, + "physical_residual_l2": 375.7053861003818 + }, + { + "iteration": 187, + "petsc_scaled_norm": 1.0086870560224158e-11, + "physical_gate": false, + "physical_relative_residual": 0.005345970312987868, + "physical_residual_inf": 80.09285752475262, + "physical_residual_l2": 378.01718603356915 + }, + { + "iteration": 188, + "petsc_scaled_norm": 1.0036457548249399e-11, + "physical_gate": false, + "physical_relative_residual": 0.005378028668742902, + "physical_residual_inf": 80.77343787997961, + "physical_residual_l2": 380.2840541083767 + }, + { + "iteration": 189, + "petsc_scaled_norm": 9.98679293375409e-12, + "physical_gate": false, + "physical_relative_residual": 0.005409469644920168, + "physical_residual_inf": 81.44058057665825, + "physical_residual_l2": 382.50726685458363 + }, + { + "iteration": 190, + "petsc_scaled_norm": 9.93785838112477e-12, + "physical_gate": false, + "physical_relative_residual": 0.005440310637952521, + "physical_residual_inf": 82.0946800634265, + "physical_residual_l2": 384.688054385754 + }, + { + "iteration": 191, + "petsc_scaled_norm": 9.889636177554439e-12, + "physical_gate": false, + "physical_relative_residual": 0.005470568403467042, + "physical_residual_inf": 82.73611468821764, + "physical_residual_l2": 386.82760150364106 + }, + { + "iteration": 192, + "petsc_scaled_norm": 9.842109206104424e-12, + "physical_gate": false, + "physical_relative_residual": 0.005500259095784899, + "physical_residual_inf": 83.36524691432714, + "physical_residual_l2": 388.927050491249 + }, + { + "iteration": 193, + "petsc_scaled_norm": 9.795260920177243e-12, + "physical_gate": false, + "physical_relative_residual": 0.005529398310132441, + "physical_residual_inf": 83.98243063688278, + "physical_residual_l2": 390.9875040976086 + }, + { + "iteration": 194, + "petsc_scaled_norm": 9.7490753193132e-12, + "physical_gate": false, + "physical_relative_residual": 0.005558001061685114, + "physical_residual_inf": 84.58800157904625, + "physical_residual_l2": 393.01002405595756 + }, + { + "iteration": 195, + "petsc_scaled_norm": 9.703536926230845e-12, + "physical_gate": false, + "physical_relative_residual": 0.0055860818562691985, + "physical_residual_inf": 85.18228439986706, + "physical_residual_l2": 394.99563608310876 + }, + { + "iteration": 196, + "petsc_scaled_norm": 9.658630765036038e-12, + "physical_gate": false, + "physical_relative_residual": 0.005613654669618142, + "physical_residual_inf": 85.76558966189623, + "physical_residual_l2": 396.9453284126517 + }, + { + "iteration": 197, + "petsc_scaled_norm": 9.61434234053023e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056407330234297315, + "physical_residual_inf": 86.33822248876095, + "physical_residual_l2": 398.860057173006 + }, + { + "iteration": 198, + "petsc_scaled_norm": 9.570657618552962e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056673299469340455, + "physical_residual_inf": 86.90047166496515, + "physical_residual_l2": 400.74074366986605 + }, + { + "iteration": 199, + "petsc_scaled_norm": 9.527563007297985e-12, + "physical_gate": false, + "physical_relative_residual": 0.005693458027987577, + "physical_residual_inf": 87.45261662453413, + "physical_residual_l2": 402.58827799910046 + }, + { + "iteration": 200, + "petsc_scaled_norm": 9.485045339546517e-12, + "physical_gate": false, + "physical_relative_residual": 0.005719129437460587, + "physical_residual_inf": 87.99492823332548, + "physical_residual_l2": 404.4035207711986 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400235.0, + "nz_unneeded": 0.0, + "nz_used": 1400235.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1300062.0, + "nz_unneeded": 0.0, + "nz_used": 1300062.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 800172.0, + "nz_unneeded": 0.0, + "nz_used": 800172.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 34, + "owned_row_pattern_complete": true, + "received_row_records": 33355, + "sent_row_records": 33351, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 23.67816585199762, + "segments": 5556, + "solution": null, + "solve_seconds": 20.921542731000955, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "scale_b": null, + "scale_b_status": "NOT_RUN_SCALE_A_FAIL", + "scale_ladder": [ + { + "callback_accepted": true, + "callback_count": 15, + "dof": 1005, + "force_balance": 3.2399951675984517e-09, + "hex8": 55, + "id": "L1", + "iterations": 14, + "ksp_reason": 2, + "ksp_reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "ksp_reported_residual": 3.85026926608256e-16, + "physical_residual": 2.8412950093491466e-09, + "ranks": 2, + "runtime_seconds": 0.04451413499918999, + "segments": 55, + "status": "PASS", + "tet4": 55, + "wedge6": 55 + }, + { + "callback_accepted": true, + "callback_count": 15, + "dof": 10005, + "force_balance": 9.958588773436634e-09, + "hex8": 555, + "id": "L2", + "iterations": 14, + "ksp_reason": 2, + "ksp_reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "ksp_reported_residual": 1.492871984753086e-16, + "physical_residual": 3.5320760276164943e-09, + "ranks": 2, + "runtime_seconds": 0.2970971989998361, + "segments": 555, + "status": "PASS", + "tet4": 555, + "wedge6": 555 + }, + { + "callback_accepted": true, + "callback_count": 15, + "dof": 30003, + "force_balance": 1.1241195492149177e-08, + "hex8": 1666, + "id": "L3", + "iterations": 14, + "ksp_reason": 2, + "ksp_reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "ksp_reported_residual": 5.4317759789226144e-17, + "physical_residual": 2.2248437809593105e-09, + "ranks": 2, + "runtime_seconds": 1.0813029839991941, + "segments": 1666, + "status": "FAIL_PHYSICAL_GATE", + "tet4": 1666, + "wedge6": 1666 + }, + { + "callback_accepted": true, + "callback_count": 14, + "dof": 100023, + "force_balance": 1.198775023831401e-07, + "hex8": 5556, + "id": "L4", + "iterations": 13, + "ksp_reason": 2, + "ksp_reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "ksp_reported_residual": 9.633620162091817e-17, + "physical_residual": 8.136801890923759e-09, + "ranks": 2, + "runtime_seconds": 3.8654505960003007, + "segments": 5556, + "status": "FAIL_PHYSICAL_GATE", + "tet4": 5556, + "wedge6": 5556 + } + ], + "scaling_map": { + "diagonal_factor": "1/sqrt(diag(K/E))", + "physical_from_scaled": "u_physical = diagonal_factor*u_scaled", + "reconstruction_reference_relative_to_load": 7.05022211956668e-11, + "scaled_residual_from_physical": "r_scaled = diagonal_factor*(r_phys/E)", + "uniform_factor": "1/E", + "validity_gate": { + "operator": "<=", + "value": 1e-10 + } + }, + "scaling_map_valid": true, + "scaling_reconstruction_error": 7.05022211956668e-11, + "schema_version": 1, + "selected_convergence_policy": "A_NATIVE_PETSC_PHYSICAL_CONVERGENCE_TEST", + "small_case": { + "errors": { + "displacement": 1.3388842595562628e-21, + "energy": 4.163336342344337e-17, + "force_balance": 6.468291535091174e-16, + "physical_residual": 4.531757568334861e-16, + "reactions": 6.197010036760375e-16 + }, + "status": "PASS" + }, + "solver": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "GMRES", + "max_it": 20000, + "pc": "ASM", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "STILL_FAIL_PHYSICAL_CONVERGENCE" +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/failures.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/failures.json new file mode 100644 index 00000000..f879381d --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/failures.json @@ -0,0 +1,145 @@ +{ + "case": "native_physical_convergence_failure_contract", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "failure_contract": { + "cases": [ + { + "actual_input": { + "callback_implemented": false + }, + "actual_input_digest": "c0b4558893b7f3b10b08d1da17a2ff849ed1e2c9232793c4b9bc1a1ed3def3f9", + "case_id": "physical_callback_failure", + "execution_path": "__main__.physical_callback_guard", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "callback is unavailable", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "physical_callback_guard", + "observed_message": "Native physical convergence callback is unavailable.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "runtime_encoding": "float('nan')", + "values": [ + "NaN" + ] + }, + "actual_input_digest": "5342ea951afae80bc94025f91732fb129c0f57dcd99ad2d82a814ebf5cc92155", + "case_id": "nan_physical_residual", + "execution_path": "__main__.nan_residual_guard", + "expected_exception_type": "ValueError", + "expected_message_pattern": "contains NaN/Inf", + "message_match": true, + "observed_exception_type": "ValueError", + "observed_execution_function": "nan_residual_guard", + "observed_message": "Native physical residual contains NaN/Inf.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "diagonal_factor": [ + 1.0 + ], + "uniform_factor": 0.0 + }, + "actual_input_digest": "3af8e3810d3a7d088f63686c6c84d3934a2a51ec68e4539e94e32fc71f31c72a", + "case_id": "invalid_scaling_map", + "execution_path": "__main__.scaling_map_guard", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "scaling map is invalid", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "scaling_map_guard", + "observed_message": "Native physical scaling map is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "reduced_squared_norm": "NaN", + "runtime_encoding": "float('nan')" + }, + "actual_input_digest": "abd303bdc9ed9cad4b17f484daacf61a357d75003f47b401e22ed02f1e55d1bf", + "case_id": "mpi_reduction_failure", + "execution_path": "__main__.mpi_reduction_guard", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "MPI reduction is invalid", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "mpi_reduction_guard", + "observed_message": "Native physical residual MPI reduction is invalid.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "norm_type": "PRECONDITIONED" + }, + "actual_input_digest": "a3460b339c896f98bde79d8e8acca65a1e18d87e36a1662d8f9ca7e443701041", + "case_id": "unsupported_norm_configuration", + "execution_path": "__main__.norm_configuration_guard", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "Unsupported physical callback norm", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "norm_configuration_guard", + "observed_message": "Unsupported physical callback norm configuration.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "reason": -5 + }, + "actual_input_digest": "e57b45e293e2d4e9b45e43faf4de67ce98a2f9022bc45698984eef15cbf82af1", + "case_id": "ksp_breakdown", + "execution_path": "__main__.breakdown_guard", + "expected_exception_type": "RuntimeError", + "expected_message_pattern": "KSP breakdown", + "message_match": true, + "observed_exception_type": "RuntimeError", + "observed_execution_function": "breakdown_guard", + "observed_message": "PETSc KSP breakdown prevents physical convergence.", + "pass": true, + "path_match": true, + "type_match": true + }, + { + "actual_input": { + "dof": 33, + "shape": [ + 33, + 32 + ] + }, + "actual_input_digest": "65a59897091d599f5a8bbd4582211dae9895181234a481ec76baac23cf76479d", + "case_id": "invalid_physical_operator", + "execution_path": "__main__.physical_operator_guard", + "expected_exception_type": "InputValidationError", + "expected_message_pattern": "operator shape", + "message_match": true, + "observed_exception_type": "InputValidationError", + "observed_execution_function": "physical_operator_guard", + "observed_message": "Invalid physical residual operator shape.", + "pass": true, + "path_match": true, + "type_match": true + } + ], + "executed": 7, + "pass": 7, + "required": 7, + "silent_fallback": false, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L1.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L1.json new file mode 100644 index 00000000..0017d331 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L1.json @@ -0,0 +1,556 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 0.34818504299983033, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 55, + "local_kernel_dispatches": 55, + "offprocess_insertions": true, + "owned_element_contributions": 55, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 669, + "fixed_dof_count": 669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 3.850267622284894e-16, + "final_reported_residual": 3.85026926608256e-16, + "initial_residual": 1.9452432140338692e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2461999576923085e+18, + "frobenius_norm": 158507459470785.34, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 66850000.0, + "row_sum_l2": 0.020654701480777155, + "row_sum_weighted": -37.994237209487785, + "shape": [ + 1005, + 1005 + ], + "trace": 2763781730769231.5 + }, + "physical_residual": { + "constrained_dof_residual_l2": 104411.36439781295, + "free_dof_residual_l2": 0.00020090989684622766, + "ghost_interface_residual_l2": 7241.188371629251, + "owned_dof_residual_l2": 104411.36439781295, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 521807393098.6198, + "scaled_reconstructed_free_residual_l2": 0.00020090986087762332, + "scaled_to_physical_reconstruction_relative": 6.0055182968807735e-09, + "true_relative_residual": 2.8412950093491466e-09, + "true_residual_inf": 24490.067519747827, + "true_residual_l2": 104411.36439781295 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.99969977103, + -8.347588823198748e-05, + -8.871268073562533e-05 + ], + "distributed_resultant": [ + -99999.99969977114, + -8.34758343444264e-05, + -8.871361205819994e-05 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.7864787242674802e-14 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 165, + "energy": 0.06849225145158064, + "family_counts": { + "HEX8": 55, + "TET4": 55, + "WEDGE6": 55 + }, + "force_balance_component_relative": 3.0022885766811668e-09, + "force_balance_relative": 3.2399951675984517e-09, + "free_residual_relative": 2.8412950093491466e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 14, + "ksp_final_residual": 3.85026926608256e-16, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 11231043123543.18, + "diagonal_min": 370437062937.0627, + "diagonal_ratio_indicator": 30.318357009140136, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.377507702985607e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "a176cd19bbd4af864619b8a56bc95c148fc2341c671c8d3c4b693094fa1bdc95", + "ndof": 1005, + "offprocess_insertion": true, + "partition": { + "digest": "f55c1a51ecfda4488df770d1c78030b4e59bcbdcfc1573cb5f6bcedda860797e", + "records": [ + { + "family_counts": { + "HEX8": 27, + "TET4": 28, + "WEDGE6": 27 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 168, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ], + "owned_nodes": 168, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 28, + "TET4": 27, + "WEDGE6": 28 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 172, + "owned_elements": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ], + "owned_nodes": 167, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 15, + "callback_error": null, + "final_force_balance_relative": 3.2399951675984517e-09, + "final_physical_relative_residual": 2.8412950093491466e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9452432140338692e-07, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 8.760775058142871e-08, + "physical_gate": false, + "physical_relative_residual": 0.6844164310342701, + "physical_residual_inf": 28013.18415494496, + "physical_residual_l2": 48395.54995398274 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.649129294804001e-08, + "physical_gate": false, + "physical_relative_residual": 0.09914403117367343, + "physical_residual_inf": 4037.2778071617904, + "physical_residual_l2": 7010.541675707495 + }, + { + "iteration": 3, + "petsc_scaled_norm": 2.2003556720520866e-09, + "physical_gate": false, + "physical_relative_residual": 0.021985981064170917, + "physical_residual_inf": 1065.1906006995123, + "physical_residual_l2": 1554.6436301514284 + }, + { + "iteration": 4, + "petsc_scaled_norm": 1.5205320599149152e-09, + "physical_gate": false, + "physical_relative_residual": 0.011755637739804967, + "physical_residual_inf": 356.20049857802223, + "physical_residual_l2": 831.2491162988591 + }, + { + "iteration": 5, + "petsc_scaled_norm": 9.462352700810303e-10, + "physical_gate": false, + "physical_relative_residual": 0.00716052920499119, + "physical_residual_inf": 139.2278242171269, + "physical_residual_l2": 506.3258757733589 + }, + { + "iteration": 6, + "petsc_scaled_norm": 4.980835679901341e-10, + "physical_gate": false, + "physical_relative_residual": 0.0038811292901165723, + "physical_residual_inf": 59.901942044496536, + "physical_residual_l2": 274.437283970316 + }, + { + "iteration": 7, + "petsc_scaled_norm": 6.334124218147537e-11, + "physical_gate": false, + "physical_relative_residual": 0.0004814411356202879, + "physical_residual_inf": 8.061777426167282, + "physical_residual_l2": 34.04302917392579 + }, + { + "iteration": 8, + "petsc_scaled_norm": 8.612147673914595e-12, + "physical_gate": false, + "physical_relative_residual": 7.54575800064802e-05, + "physical_residual_inf": 2.735376726137474, + "physical_residual_l2": 5.3356566514508605 + }, + { + "iteration": 9, + "petsc_scaled_norm": 2.0730776752823515e-12, + "physical_gate": false, + "physical_relative_residual": 1.7865488683109047e-05, + "physical_residual_inf": 0.645723778870888, + "physical_residual_l2": 1.2632808197037932 + }, + { + "iteration": 10, + "petsc_scaled_norm": 6.751379923592327e-13, + "physical_gate": false, + "physical_relative_residual": 5.3186827883400645e-06, + "physical_residual_inf": 0.1299192326841876, + "physical_residual_l2": 0.3760876666615435 + }, + { + "iteration": 11, + "petsc_scaled_norm": 8.639096220857741e-14, + "physical_gate": false, + "physical_relative_residual": 7.990643969572688e-07, + "physical_residual_inf": 0.026708505232818425, + "physical_residual_l2": 0.05650238536932241 + }, + { + "iteration": 12, + "petsc_scaled_norm": 1.6693700079076865e-14, + "physical_gate": false, + "physical_relative_residual": 1.2116602249280622e-07, + "physical_residual_inf": 0.0023430479923263192, + "physical_residual_l2": 0.008567731615406504 + }, + { + "iteration": 13, + "petsc_scaled_norm": 2.599424130558317e-15, + "physical_gate": false, + "physical_relative_residual": 2.178827156207165e-08, + "physical_residual_inf": 0.00029484334345397656, + "physical_residual_l2": 0.0015406634571874876 + }, + { + "iteration": 14, + "petsc_scaled_norm": 3.85026926608256e-16, + "physical_gate": true, + "physical_relative_residual": 2.8412950093491466e-09, + "physical_residual_inf": 2.9351923899412213e-05, + "physical_residual_l2": 0.00020090989684622766 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 20871.0, + "nz_unneeded": 0.0, + "nz_used": 20871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 13968.0, + "nz_unneeded": 0.0, + "nz_used": 13968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 34839.0, + "nz_used_sum": 34839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 511, + "sent_row_records": 504, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.99969977114, + -8.34758343444264e-05, + -8.871361205819994e-05 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.04451413499918999, + "segments": 55, + "solution": null, + "solve_seconds": 0.004545822001091437, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L2.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L2.json new file mode 100644 index 00000000..ba21d5ed --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L2.json @@ -0,0 +1,2056 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 3.1908397910010535, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 1.4928586255125605e-16, + "final_reported_residual": 1.492871984753086e-16, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916486.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6256275200078484, + "row_sum_weighted": 36537.42976676743, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296528.5483026469, + "free_dof_residual_l2": 0.0002497554910794067, + "ghost_interface_residual_l2": 6496.0002407961965, + "owned_dof_residual_l2": 296528.5483026469, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1672986656794.3875, + "scaled_reconstructed_free_residual_l2": 0.0002497559540280636, + "scaled_to_physical_reconstruction_relative": 1.5544149760272535e-07, + "true_relative_residual": 3.5320760276164943e-09, + "true_residual_inf": 25873.604814837687, + "true_residual_l2": 296528.5483026469 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.99911431009, + -0.00034766414989917394, + -0.0002939321693702368 + ], + "distributed_resultant": [ + -99999.9991143045, + -0.0003476706506262417, + -0.0002939447422249941 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.782438593559713e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06844468679400087, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.856954955263063e-09, + "force_balance_relative": 9.958588773436634e-09, + "free_residual_relative": 3.5320760276164943e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 14, + "ksp_final_residual": 1.492871984753086e-16, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.016618690401604e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "853a74e45dc628c387ba0865f8e50628c8a932f91127e03aca667abe4d560a20", + "records": [ + { + "family_counts": { + "HEX8": 277, + "TET4": 278, + "WEDGE6": 277 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1668, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831 + ], + "owned_nodes": 1668, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 278, + "TET4": 277, + "WEDGE6": 278 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1672, + "owned_elements": [ + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1667, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 15, + "callback_error": null, + "final_force_balance_relative": 9.958588773436634e-09, + "final_physical_relative_residual": 3.5320760276164943e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 6.12852585073696e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 9.726807850233158e-09, + "physical_gate": false, + "physical_relative_residual": 0.24762377458631168, + "physical_residual_inf": 11447.138058322238, + "physical_residual_l2": 17509.64501929901 + }, + { + "iteration": 2, + "petsc_scaled_norm": 4.159839437291545e-09, + "physical_gate": false, + "physical_relative_residual": 0.06837375156703956, + "physical_residual_inf": 3957.2585404438687, + "physical_residual_l2": 4834.754338821801 + }, + { + "iteration": 3, + "petsc_scaled_norm": 4.6046488306880135e-10, + "physical_gate": false, + "physical_relative_residual": 0.018521245108105065, + "physical_residual_inf": 1139.3270774381235, + "physical_residual_l2": 1309.6498011959263 + }, + { + "iteration": 4, + "petsc_scaled_norm": 2.8514622666465733e-10, + "physical_gate": false, + "physical_relative_residual": 0.0077243710260913295, + "physical_residual_inf": 333.20376081625, + "physical_residual_l2": 546.195513295007 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.3445805685935518e-10, + "physical_gate": false, + "physical_relative_residual": 0.0033353872391442556, + "physical_residual_inf": 86.93010773230344, + "physical_residual_l2": 235.84749346819802 + }, + { + "iteration": 6, + "petsc_scaled_norm": 7.908981049519496e-11, + "physical_gate": false, + "physical_relative_residual": 0.0019403564726710705, + "physical_residual_inf": 39.150526052806526, + "physical_residual_l2": 137.2039219744924 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.4042600501810047e-11, + "physical_gate": false, + "physical_relative_residual": 0.00033756760186709966, + "physical_residual_inf": 5.929162488784641, + "physical_residual_l2": 23.869634038910686 + }, + { + "iteration": 8, + "petsc_scaled_norm": 2.790860218903125e-12, + "physical_gate": false, + "physical_relative_residual": 7.649211030497858e-05, + "physical_residual_inf": 1.821556436829269, + "physical_residual_l2": 5.408808990391975 + }, + { + "iteration": 9, + "petsc_scaled_norm": 5.004249671391902e-13, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "physical_residual_inf": 0.6405859002843499, + "physical_residual_l2": 0.9864813353895971 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1153534554727142e-13, + "physical_gate": false, + "physical_relative_residual": 2.7990178076443427e-06, + "physical_residual_inf": 0.06177974492311478, + "physical_residual_l2": 0.19792044724472185 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.8283588792127974e-14, + "physical_gate": false, + "physical_relative_residual": 7.552865205824603e-07, + "physical_residual_inf": 0.009593628346920013, + "physical_residual_l2": 0.05340682204426506 + }, + { + "iteration": 12, + "petsc_scaled_norm": 6.60570295303986e-15, + "physical_gate": false, + "physical_relative_residual": 1.5379028947038685e-07, + "physical_residual_inf": 0.0007612528685285724, + "physical_residual_l2": 0.010874615656515265 + }, + { + "iteration": 13, + "petsc_scaled_norm": 8.836089719384783e-16, + "physical_gate": false, + "physical_relative_residual": 2.3743385743847145e-08, + "physical_residual_inf": 0.00010707739056670107, + "physical_residual_l2": 0.0016789109067802317 + }, + { + "iteration": 14, + "petsc_scaled_norm": 1.492871984753086e-16, + "physical_gate": true, + "physical_relative_residual": 3.5320760276164943e-09, + "physical_residual_inf": 2.7447007596492767e-05, + "physical_residual_l2": 0.0002497554910794067 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 209871.0, + "nz_unneeded": 0.0, + "nz_used": 209871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139968.0, + "nz_unneeded": 0.0, + "nz_used": 139968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 5011, + "sent_row_records": 5004, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.9991143045, + -0.0003476706506262417, + -0.0002939447422249941 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.2970971989998361, + "segments": 555, + "solution": null, + "solve_seconds": 0.0761393959983252, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L3.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L3.json new file mode 100644 index 00000000..02780d18 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L3.json @@ -0,0 +1,5389 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 7.46850751799866, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 1666, + "local_kernel_dispatches": 1666, + "offprocess_insertions": true, + "owned_element_contributions": 1666, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 20001, + "fixed_dof_count": 20001, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 5.4315502033289776e-17, + "final_reported_residual": 5.4317759789226144e-17, + "initial_residual": 3.537268933044116e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 3.40831315231178e+22, + "frobenius_norm": 2.6483998910535516e+16, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 2000050000.0, + "row_sum_l2": 3.735430276240387, + "row_sum_weighted": -784424.9081073701, + "shape": [ + 30003, + 30003 + ], + "trace": 2.534475582692307e+18 + }, + "physical_residual": { + "constrained_dof_residual_l2": 509604.0468816913, + "free_dof_residual_l2": 0.00015732021245970463, + "ghost_interface_residual_l2": 6443.928310476934, + "owned_dof_residual_l2": 509604.0468816913, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 2896294196781.4526, + "scaled_reconstructed_free_residual_l2": 0.0001573289266690832, + "scaled_to_physical_reconstruction_relative": 8.26352263501378e-07, + "true_relative_residual": 2.2248437809593105e-09, + "true_residual_inf": 25978.94824305363, + "true_residual_l2": 509604.0468816913 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.99901120103, + -0.0004700104559560714, + -0.00025583107708371244 + ], + "distributed_resultant": [ + -99999.99901134631, + -0.00046991396811790764, + -0.0002557137304393109 + ], + "duplication": false, + "loss": false, + "relative_difference": 6.104531560147581e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 4998, + "energy": 0.06844014249185164, + "family_counts": { + "HEX8": 1666, + "TET4": 1666, + "WEDGE6": 1666 + }, + "force_balance_component_relative": 9.8865368636325e-09, + "force_balance_relative": 1.1241195492149177e-08, + "free_residual_relative": 2.2248437809593105e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 14, + "ksp_final_residual": 5.4317759789226144e-17, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 340141728614584.0, + "diagonal_min": 11213469618616.336, + "diagonal_ratio_indicator": 30.333317000287654, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.897443999277557e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "6d05cb7276c7164971e32e90eadfde8b20180e474e5f1d9e31794cb1d9c6f81c", + "ndof": 30003, + "offprocess_insertion": true, + "partition": { + "digest": "a5a35b7fdc4c319881d82c5593a04cfec6ae0ec9c0bf5a363b2f4cb861855212", + "records": [ + { + "family_counts": { + "HEX8": 833, + "TET4": 833, + "WEDGE6": 833 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 5003, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498 + ], + "owned_nodes": 5003, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 833, + "TET4": 833, + "WEDGE6": 833 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 5003, + "owned_elements": [ + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997 + ], + "owned_nodes": 4998, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 15, + "callback_error": null, + "final_force_balance_relative": 1.1241195492149177e-08, + "final_physical_relative_residual": 2.2248437809593105e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 3.537268933044116e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 5.242816629758972e-09, + "physical_gate": false, + "physical_relative_residual": 0.2304219991506789, + "physical_residual_inf": 10818.165162867102, + "physical_residual_l2": 16293.295813400597 + }, + { + "iteration": 2, + "petsc_scaled_norm": 2.321967974681945e-09, + "physical_gate": false, + "physical_relative_residual": 0.06391499455092764, + "physical_residual_inf": 3938.4321656621405, + "physical_residual_l2": 4519.472606646217 + }, + { + "iteration": 3, + "petsc_scaled_norm": 2.462999610563513e-10, + "physical_gate": false, + "physical_relative_residual": 0.018114061859096264, + "physical_residual_inf": 1147.4742061067373, + "physical_residual_l2": 1280.857597539957 + }, + { + "iteration": 4, + "petsc_scaled_norm": 1.4067018675325277e-10, + "physical_gate": false, + "physical_relative_residual": 0.0065450226375657885, + "physical_residual_inf": 324.179964421317, + "physical_residual_l2": 462.80298900422326 + }, + { + "iteration": 5, + "petsc_scaled_norm": 5.217762683706846e-11, + "physical_gate": false, + "physical_relative_residual": 0.002297988496032143, + "physical_residual_inf": 57.72439129650593, + "physical_residual_l2": 162.4923248633004 + }, + { + "iteration": 6, + "petsc_scaled_norm": 2.8691715458419202e-11, + "physical_gate": false, + "physical_relative_residual": 0.0012099182105165974, + "physical_residual_inf": 22.045016430318356, + "physical_residual_l2": 85.55413713373788 + }, + { + "iteration": 7, + "petsc_scaled_norm": 5.1441810351054064e-12, + "physical_gate": false, + "physical_relative_residual": 0.00021458332768855564, + "physical_residual_inf": 2.8829718120396137, + "physical_residual_l2": 15.173332613815276 + }, + { + "iteration": 8, + "petsc_scaled_norm": 1.0964863783827957e-12, + "physical_gate": false, + "physical_relative_residual": 5.142110930970773e-05, + "physical_residual_inf": 0.9013006538152695, + "physical_residual_l2": 3.636021508902905 + }, + { + "iteration": 9, + "petsc_scaled_norm": 2.038180775879955e-13, + "physical_gate": false, + "physical_relative_residual": 8.857479928189067e-06, + "physical_residual_inf": 0.3093451000750065, + "physical_residual_l2": 0.6263184121446224 + }, + { + "iteration": 10, + "petsc_scaled_norm": 3.783519791494669e-14, + "physical_gate": false, + "physical_relative_residual": 1.5985714194317014e-06, + "physical_residual_inf": 0.025097321718931198, + "physical_residual_l2": 0.11303606908911608 + }, + { + "iteration": 11, + "petsc_scaled_norm": 9.867162128357028e-15, + "physical_gate": false, + "physical_relative_residual": 4.508708629257393e-07, + "physical_residual_inf": 0.003019507974386215, + "physical_residual_l2": 0.031881384461422066 + }, + { + "iteration": 12, + "petsc_scaled_norm": 2.3678333091725802e-15, + "physical_gate": false, + "physical_relative_residual": 9.590175891531044e-08, + "physical_residual_inf": 0.0002734325267965687, + "physical_residual_l2": 0.006781278405673346 + }, + { + "iteration": 13, + "petsc_scaled_norm": 3.140986189251555e-16, + "physical_gate": false, + "physical_relative_residual": 1.456052353858438e-08, + "physical_residual_inf": 4.2708590626716614e-05, + "physical_residual_l2": 0.0010295844931759361 + }, + { + "iteration": 14, + "petsc_scaled_norm": 5.4317759789226144e-17, + "physical_gate": true, + "physical_relative_residual": 2.2248437809593105e-09, + "physical_residual_inf": 1.109391450881958e-05, + "physical_residual_l2": 0.00015732021245970463 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 629829.0, + "nz_unneeded": 0.0, + "nz_used": 629829.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 419940.0, + "nz_unneeded": 0.0, + "nz_used": 419940.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 1049769.0, + "nz_used_sum": 1049769.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 15010, + "sent_row_records": 15009, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.99901134631, + -0.00046991396811790764, + -0.0002557137304393109 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 1.0813029839991941, + "segments": 1666, + "solution": null, + "solve_seconds": 0.5138441690032778, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L4.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L4.json new file mode 100644 index 00000000..5a14d32d --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/ladder_L4.json @@ -0,0 +1,17051 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 26.06016745799934, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 9.631889424879142e-17, + "final_reported_residual": 9.633620162091817e-17, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 927998.7140548625, + "free_dof_residual_l2": 0.0005753587794243713, + "ghost_interface_residual_l2": 6423.868131182894, + "owned_dof_residual_l2": 927998.7140548625, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5972404659345.003, + "scaled_reconstructed_free_residual_l2": 0.0005753385156652065, + "scaled_to_physical_reconstruction_relative": 5.0026490287615145e-06, + "true_relative_residual": 8.136801890923759e-09, + "true_residual_inf": 26015.918857201934, + "true_residual_l2": 927998.7140548625 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.98821212952, + 0.00016670010086272669, + -0.00219823407860531 + ], + "distributed_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.1586895195724323e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06843852151723825, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 1.1787617157096974e-07, + "force_balance_relative": 1.198775023831401e-07, + "free_residual_relative": 8.136801890923759e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 13, + "ksp_final_residual": 9.633620162091817e-17, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 14, + "callback_error": null, + "final_force_balance_relative": 1.198775023831401e-07, + "final_physical_relative_residual": 8.136801890923759e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 2.80246001165333e-09, + "physical_gate": false, + "physical_relative_residual": 0.22460987550101455, + "physical_residual_inf": 10608.785590382533, + "physical_residual_l2": 15882.31660882336 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.2553998390264497e-09, + "physical_gate": false, + "physical_relative_residual": 0.06221447010777851, + "physical_residual_inf": 3931.311657830005, + "physical_residual_l2": 4399.227370113795 + }, + { + "iteration": 3, + "petsc_scaled_norm": 1.3074654655334746e-10, + "physical_gate": false, + "physical_relative_residual": 0.01796378430551288, + "physical_residual_inf": 1150.496795296669, + "physical_residual_l2": 1270.2313698200633 + }, + { + "iteration": 4, + "petsc_scaled_norm": 7.078541803015117e-11, + "physical_gate": false, + "physical_relative_residual": 0.005980426096242984, + "physical_residual_inf": 320.44395192712545, + "physical_residual_l2": 422.87998470384065 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.757315090122606e-11, + "physical_gate": false, + "physical_relative_residual": 0.001430948130424742, + "physical_residual_inf": 26.31322317570448, + "physical_residual_l2": 101.18331265495475 + }, + { + "iteration": 6, + "petsc_scaled_norm": 9.074965851994385e-12, + "physical_gate": false, + "physical_relative_residual": 0.0006908359584342972, + "physical_residual_inf": 8.77089773118496, + "physical_residual_l2": 48.84947908963995 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.6072007144679926e-12, + "physical_gate": false, + "physical_relative_residual": 0.00012247384858278616, + "physical_residual_inf": 1.0241659283638, + "physical_residual_l2": 8.660208885090253 + }, + { + "iteration": 8, + "petsc_scaled_norm": 3.5206048129653935e-13, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "physical_residual_inf": 0.32434655725955963, + "physical_residual_l2": 2.107094062392041 + }, + { + "iteration": 9, + "petsc_scaled_norm": 6.636855418633056e-14, + "physical_gate": false, + "physical_relative_residual": 4.897376012844581e-06, + "physical_residual_inf": 0.1081702932715416, + "physical_residual_l2": 0.34629677887027405 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1434942996093187e-14, + "physical_gate": false, + "physical_relative_residual": 8.679504856486099e-07, + "physical_residual_inf": 0.00807230919599533, + "physical_residual_l2": 0.061373367413628935 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.999112873044896e-15, + "physical_gate": false, + "physical_relative_residual": 2.492916746225318e-07, + "physical_residual_inf": 0.0008761733770370483, + "physical_residual_l2": 0.01762758336189426 + }, + { + "iteration": 12, + "petsc_scaled_norm": 7.272915227763282e-16, + "physical_gate": false, + "physical_relative_residual": 5.3867438475377226e-08, + "physical_residual_inf": 8.399481748710969e-05, + "physical_residual_l2": 0.003809003103108838 + }, + { + "iteration": 13, + "petsc_scaled_norm": 9.633620162091817e-17, + "physical_gate": true, + "physical_relative_residual": 8.136801890923759e-09, + "physical_residual_inf": 1.4096498489379883e-05, + "physical_residual_l2": 0.0005753587794243713 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 3.8654505960003007, + "segments": 5556, + "solution": null, + "solve_seconds": 1.423252324002533, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r1.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r1.json new file mode 100644 index 00000000..668b3eca --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r1.json @@ -0,0 +1,2030 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 5.286254025999369, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": false, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": false, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": false, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 1.4928628222488186e-16, + "final_reported_residual": 1.4928716183795166e-16, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326905e+21, + "frobenius_norm": 5091442989918229.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6479775403034599, + "row_sum_weighted": 116181.09954134608, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296528.5483013539, + "free_dof_residual_l2": 0.0002497555476622122, + "ghost_interface_residual_l2": 0.0, + "owned_dof_residual_l2": 296528.5483013539, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1672987446390.849, + "scaled_reconstructed_free_residual_l2": 0.00024975816171232153, + "scaled_to_physical_reconstruction_relative": 1.5849053614419065e-07, + "true_relative_residual": 3.532076827818204e-09, + "true_residual_inf": 25873.60481481068, + "true_residual_l2": 296528.5483013539 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.99911433291, + -0.0003476210586086381, + -0.0002942158498626668 + ], + "distributed_resultant": [ + -99999.99911434362, + -0.0003476298938949185, + -0.0002940896556538064 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.7953902891172773e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06844468679403817, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.856563799781725e-09, + "force_balance_relative": 9.958526457704511e-09, + "free_residual_relative": 3.532076827818204e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 14, + "ksp_final_residual": 1.4928716183795166e-16, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.2, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.33318616008825, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 7.247783725039708e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": false, + "partition": { + "digest": "ed81f30e105d80d295840a577fdbc92a835d281e207084e2dd9915d1993472f5", + "records": [ + { + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 3335, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 3335, + "rank": 0 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 15, + "callback_error": null, + "final_force_balance_relative": 9.958526457704511e-09, + "final_physical_relative_residual": 3.532076827818204e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 6.12852585073696e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 9.726807850206602e-09, + "physical_gate": false, + "physical_relative_residual": 0.24762377458586193, + "physical_residual_inf": 11447.13805830935, + "physical_residual_l2": 17509.645019267205 + }, + { + "iteration": 2, + "petsc_scaled_norm": 4.159839437251069e-09, + "physical_gate": false, + "physical_relative_residual": 0.06837375156646898, + "physical_residual_inf": 3957.2585404013516, + "physical_residual_l2": 4834.754338781455 + }, + { + "iteration": 3, + "petsc_scaled_norm": 4.6046488306915663e-10, + "physical_gate": false, + "physical_relative_residual": 0.01852124510811609, + "physical_residual_inf": 1139.3270774418488, + "physical_residual_l2": 1309.649801196706 + }, + { + "iteration": 4, + "petsc_scaled_norm": 2.851462266669788e-10, + "physical_gate": false, + "physical_relative_residual": 0.00772437102616439, + "physical_residual_inf": 333.2037608232349, + "physical_residual_l2": 546.1955133001732 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.3445805686021387e-10, + "physical_gate": false, + "physical_relative_residual": 0.0033353872391161917, + "physical_residual_inf": 86.93010773323476, + "physical_residual_l2": 235.8474934662136 + }, + { + "iteration": 6, + "petsc_scaled_norm": 7.908981049621393e-11, + "physical_gate": false, + "physical_relative_residual": 0.0019403564726687718, + "physical_residual_inf": 39.1505260579288, + "physical_residual_l2": 137.20392197432986 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.4042600501575386e-11, + "physical_gate": false, + "physical_relative_residual": 0.0003375676018299377, + "physical_residual_inf": 5.929162483662367, + "physical_residual_l2": 23.86963403628294 + }, + { + "iteration": 8, + "petsc_scaled_norm": 2.7908602184113968e-12, + "physical_gate": false, + "physical_relative_residual": 7.649211029472061e-05, + "physical_residual_inf": 1.821556438691914, + "physical_residual_l2": 5.4088089896666265 + }, + { + "iteration": 9, + "petsc_scaled_norm": 5.004249671220179e-13, + "physical_gate": false, + "physical_relative_residual": 1.3950952850394422e-05, + "physical_residual_inf": 0.6405859030783176, + "physical_residual_l2": 0.9864813364527691 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1153534562348411e-13, + "physical_gate": false, + "physical_relative_residual": 2.7990178771009292e-06, + "physical_residual_inf": 0.06177974957972765, + "physical_residual_l2": 0.19792045215604417 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.828358873245e-14, + "physical_gate": false, + "physical_relative_residual": 7.552865263258973e-07, + "physical_residual_inf": 0.009593618102371693, + "physical_residual_l2": 0.053406822450387394 + }, + { + "iteration": 12, + "petsc_scaled_norm": 6.605702829606138e-15, + "physical_gate": false, + "physical_relative_residual": 1.537903482045902e-07, + "physical_residual_inf": 0.0007612466110913374, + "physical_residual_l2": 0.010874619809650612 + }, + { + "iteration": 13, + "petsc_scaled_norm": 8.836089304631191e-16, + "physical_gate": false, + "physical_relative_residual": 2.3743398798433516e-08, + "physical_residual_inf": 0.00010707451292546466, + "physical_residual_l2": 0.0016789118298788865 + }, + { + "iteration": 14, + "petsc_scaled_norm": 1.4928716183795166e-16, + "physical_gate": true, + "physical_relative_residual": 3.532076827818204e-09, + "physical_residual_inf": 2.7451664209365845e-05, + "physical_residual_l2": 0.0002497555476622122 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 349839.0, + "nz_unneeded": 0.0, + "nz_used": 349839.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 48, + "max_offdiag_nnz": 0, + "owned_row_pattern_complete": true, + "received_row_records": 10005, + "sent_row_records": 10005, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 1, + "reaction_resultant": [ + -99999.99911434362, + -0.0003476298938949185, + -0.0002940896556538064 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.5383762940000452, + "segments": 555, + "solution": null, + "solve_seconds": 0.05663181700219866, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r2.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r2.json new file mode 100644 index 00000000..aba84664 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r2.json @@ -0,0 +1,2056 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 4.255168900999706, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 1.4928586255125605e-16, + "final_reported_residual": 1.492871984753086e-16, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916486.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6256275200078484, + "row_sum_weighted": 36537.42976676743, + "shape": [ + 10005, + 10005 + ], + "trace": 2.8127179455128173e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296528.5483026469, + "free_dof_residual_l2": 0.0002497554910794067, + "ghost_interface_residual_l2": 6496.0002407961965, + "owned_dof_residual_l2": 296528.5483026469, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1672986656794.3875, + "scaled_reconstructed_free_residual_l2": 0.0002497559540280636, + "scaled_to_physical_reconstruction_relative": 1.5544149760272535e-07, + "true_relative_residual": 3.5320760276164943e-09, + "true_residual_inf": 25873.604814837687, + "true_residual_l2": 296528.5483026469 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.99911431009, + -0.00034766414989917394, + -0.0002939321693702368 + ], + "distributed_resultant": [ + -99999.9991143045, + -0.0003476706506262417, + -0.0002939447422249941 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.782438593559713e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06844468679400087, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 8.856954955263063e-09, + "force_balance_relative": 9.958588773436634e-09, + "free_residual_relative": 3.5320760276164943e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 14, + "ksp_final_residual": 1.492871984753086e-16, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.016618690401604e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "853a74e45dc628c387ba0865f8e50628c8a932f91127e03aca667abe4d560a20", + "records": [ + { + "family_counts": { + "HEX8": 277, + "TET4": 278, + "WEDGE6": 277 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1668, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831 + ], + "owned_nodes": 1668, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 278, + "TET4": 277, + "WEDGE6": 278 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1672, + "owned_elements": [ + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1667, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 15, + "callback_error": null, + "final_force_balance_relative": 9.958588773436634e-09, + "final_physical_relative_residual": 3.5320760276164943e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 6.12852585073696e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 9.726807850233158e-09, + "physical_gate": false, + "physical_relative_residual": 0.24762377458631168, + "physical_residual_inf": 11447.138058322238, + "physical_residual_l2": 17509.64501929901 + }, + { + "iteration": 2, + "petsc_scaled_norm": 4.159839437291545e-09, + "physical_gate": false, + "physical_relative_residual": 0.06837375156703956, + "physical_residual_inf": 3957.2585404438687, + "physical_residual_l2": 4834.754338821801 + }, + { + "iteration": 3, + "petsc_scaled_norm": 4.6046488306880135e-10, + "physical_gate": false, + "physical_relative_residual": 0.018521245108105065, + "physical_residual_inf": 1139.3270774381235, + "physical_residual_l2": 1309.6498011959263 + }, + { + "iteration": 4, + "petsc_scaled_norm": 2.8514622666465733e-10, + "physical_gate": false, + "physical_relative_residual": 0.0077243710260913295, + "physical_residual_inf": 333.20376081625, + "physical_residual_l2": 546.195513295007 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.3445805685935518e-10, + "physical_gate": false, + "physical_relative_residual": 0.0033353872391442556, + "physical_residual_inf": 86.93010773230344, + "physical_residual_l2": 235.84749346819802 + }, + { + "iteration": 6, + "petsc_scaled_norm": 7.908981049519496e-11, + "physical_gate": false, + "physical_relative_residual": 0.0019403564726710705, + "physical_residual_inf": 39.150526052806526, + "physical_residual_l2": 137.2039219744924 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.4042600501810047e-11, + "physical_gate": false, + "physical_relative_residual": 0.00033756760186709966, + "physical_residual_inf": 5.929162488784641, + "physical_residual_l2": 23.869634038910686 + }, + { + "iteration": 8, + "petsc_scaled_norm": 2.790860218903125e-12, + "physical_gate": false, + "physical_relative_residual": 7.649211030497858e-05, + "physical_residual_inf": 1.821556436829269, + "physical_residual_l2": 5.408808990391975 + }, + { + "iteration": 9, + "petsc_scaled_norm": 5.004249671391902e-13, + "physical_gate": false, + "physical_relative_residual": 1.39509528353589e-05, + "physical_residual_inf": 0.6405859002843499, + "physical_residual_l2": 0.9864813353895971 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1153534554727142e-13, + "physical_gate": false, + "physical_relative_residual": 2.7990178076443427e-06, + "physical_residual_inf": 0.06177974492311478, + "physical_residual_l2": 0.19792044724472185 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.8283588792127974e-14, + "physical_gate": false, + "physical_relative_residual": 7.552865205824603e-07, + "physical_residual_inf": 0.009593628346920013, + "physical_residual_l2": 0.05340682204426506 + }, + { + "iteration": 12, + "petsc_scaled_norm": 6.60570295303986e-15, + "physical_gate": false, + "physical_relative_residual": 1.5379028947038685e-07, + "physical_residual_inf": 0.0007612528685285724, + "physical_residual_l2": 0.010874615656515265 + }, + { + "iteration": 13, + "petsc_scaled_norm": 8.836089719384783e-16, + "physical_gate": false, + "physical_relative_residual": 2.3743385743847145e-08, + "physical_residual_inf": 0.00010707739056670107, + "physical_residual_l2": 0.0016789109067802317 + }, + { + "iteration": 14, + "petsc_scaled_norm": 1.492871984753086e-16, + "physical_gate": true, + "physical_relative_residual": 3.5320760276164943e-09, + "physical_residual_inf": 2.7447007596492767e-05, + "physical_residual_l2": 0.0002497554910794067 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 209871.0, + "nz_unneeded": 0.0, + "nz_used": 209871.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139968.0, + "nz_unneeded": 0.0, + "nz_used": 139968.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 5011, + "sent_row_records": 5004, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.9991143045, + -0.0003476706506262417, + -0.0002939447422249941 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 0.7074838689986791, + "segments": 555, + "solution": null, + "solve_seconds": 0.2995219479998923, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r3.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r3.json new file mode 100644 index 00000000..dd153ad4 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/partition_r3.json @@ -0,0 +1,3714 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 3.59120724999957, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 555, + "local_kernel_dispatches": 555, + "offprocess_insertions": true, + "owned_element_contributions": 555, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 6669, + "fixed_dof_count": 6669, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 1.660417788812351e-16, + "final_reported_residual": 1.6604150267251994e-16, + "initial_residual": 6.12852585073696e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2614290093326907e+21, + "frobenius_norm": 5091442989916668.0, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 666850000.0, + "row_sum_l2": 0.6222115524426189, + "row_sum_weighted": 34557.92515433872, + "shape": [ + 10005, + 10005 + ], + "trace": 2.812717945512817e+17 + }, + "physical_residual": { + "constrained_dof_residual_l2": 296528.53935668647, + "free_dof_residual_l2": 0.0002987346641328566, + "ghost_interface_residual_l2": 10007.593070161913, + "owned_dof_residual_l2": 296528.53935668647, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 1799156592325.2605, + "scaled_reconstructed_free_residual_l2": 0.00029873654450171126, + "scaled_to_physical_reconstruction_relative": 1.637824848429242e-07, + "true_relative_residual": 4.224746135676572e-09, + "true_residual_inf": 25873.604231907055, + "true_residual_l2": 296528.53935668647 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.99979107716, + -0.0036017652148530033, + -0.0023270842430065386 + ], + "distributed_resultant": [ + -99999.99979107204, + -0.0036017649799759965, + -0.0023271671307156794 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.7691105601675057e-13 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 1665, + "energy": 0.06844468424557942, + "family_counts": { + "HEX8": 555, + "TET4": 555, + "WEDGE6": 555 + }, + "force_balance_component_relative": 3.601764979975997e-08, + "force_balance_relative": 4.293258519726874e-08, + "free_residual_relative": 4.224746135676572e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 216, + "ksp_final_residual": 1.6604150267251994e-16, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 113312685955189.22, + "diagonal_min": 3735601178101.2173, + "diagonal_ratio_indicator": 30.333186160088253, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 7.120194663568885e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "d80476729e3799f48cc8ed853f56b7eae925ad11f4ca2c4bff475a5192f72e0b", + "ndof": 10005, + "offprocess_insertion": true, + "partition": { + "digest": "73325c260a8dda1a4c68b6b3a0bf977303ee5814bdffa993728bcf34a1859d00", + "records": [ + { + "family_counts": { + "HEX8": 185, + "TET4": 185, + "WEDGE6": 185 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 1115, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554 + ], + "owned_nodes": 1115, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 185, + "TET4": 185, + "WEDGE6": 185 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1115, + "owned_elements": [ + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109 + ], + "owned_nodes": 1110, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 185, + "TET4": 185, + "WEDGE6": 185 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 1115, + "owned_elements": [ + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664 + ], + "owned_nodes": 1110, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 219, + "callback_error": null, + "final_force_balance_relative": 4.293258519726874e-08, + "final_physical_relative_residual": 4.224746135676572e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 6.12852585073696e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 3.790101630210304e-08, + "physical_gate": false, + "physical_relative_residual": 0.8790706800807232, + "physical_residual_inf": 27040.660069764544, + "physical_residual_l2": 62159.683902734956 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.8205135644011796e-08, + "physical_gate": false, + "physical_relative_residual": 0.5855888603584694, + "physical_residual_inf": 23361.7559016397, + "physical_residual_l2": 41407.3854146776 + }, + { + "iteration": 3, + "petsc_scaled_norm": 1.7650745268321365e-08, + "physical_gate": false, + "physical_relative_residual": 0.5410012546948249, + "physical_residual_inf": 22159.82939259801, + "physical_residual_l2": 38254.56558251412 + }, + { + "iteration": 4, + "petsc_scaled_norm": 1.7497349385424452e-08, + "physical_gate": false, + "physical_relative_residual": 0.5047981032787194, + "physical_residual_inf": 17430.196825779974, + "physical_residual_l2": 35694.616195848976 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.580733773320174e-08, + "physical_gate": false, + "physical_relative_residual": 0.453373823527044, + "physical_residual_inf": 18893.60285104229, + "physical_residual_l2": 32058.37050284459 + }, + { + "iteration": 6, + "petsc_scaled_norm": 1.2625893654696258e-08, + "physical_gate": false, + "physical_relative_residual": 0.3847810821450136, + "physical_residual_inf": 16202.306172354147, + "physical_residual_l2": 27208.131245703713 + }, + { + "iteration": 7, + "petsc_scaled_norm": 7.046489771388041e-09, + "physical_gate": false, + "physical_relative_residual": 0.2009493608917748, + "physical_residual_inf": 6642.682880134555, + "physical_residual_l2": 14209.265576167678 + }, + { + "iteration": 8, + "petsc_scaled_norm": 6.99581578579117e-09, + "physical_gate": false, + "physical_relative_residual": 0.20557638910741513, + "physical_residual_inf": 6645.841567340307, + "physical_residual_l2": 14536.445878969756 + }, + { + "iteration": 9, + "petsc_scaled_norm": 6.868135141636321e-09, + "physical_gate": false, + "physical_relative_residual": 0.2040492649753403, + "physical_residual_inf": 6975.745921861846, + "physical_residual_l2": 14428.461896019382 + }, + { + "iteration": 10, + "petsc_scaled_norm": 5.553116899379957e-09, + "physical_gate": false, + "physical_relative_residual": 0.19181811244145755, + "physical_residual_inf": 6820.292846203316, + "physical_residual_l2": 13563.58880617583 + }, + { + "iteration": 11, + "petsc_scaled_norm": 4.982503093382876e-09, + "physical_gate": false, + "physical_relative_residual": 0.13907885631718184, + "physical_residual_inf": 3811.4885892344173, + "physical_residual_l2": 9834.360242154879 + }, + { + "iteration": 12, + "petsc_scaled_norm": 4.749522698082297e-09, + "physical_gate": false, + "physical_relative_residual": 0.14032859528715547, + "physical_residual_inf": 4980.81111822091, + "physical_residual_l2": 9922.730132193023 + }, + { + "iteration": 13, + "petsc_scaled_norm": 4.67748504878043e-09, + "physical_gate": false, + "physical_relative_residual": 0.13759453308241312, + "physical_residual_inf": 4874.055849399883, + "physical_residual_l2": 9729.402739677107 + }, + { + "iteration": 14, + "petsc_scaled_norm": 2.434455637005922e-09, + "physical_gate": false, + "physical_relative_residual": 0.05682409731191145, + "physical_residual_inf": 1801.059129646769, + "physical_residual_l2": 4018.0704544056857 + }, + { + "iteration": 15, + "petsc_scaled_norm": 2.1293068792975927e-09, + "physical_gate": false, + "physical_relative_residual": 0.04807280132965337, + "physical_residual_inf": 1619.0995180849827, + "physical_residual_l2": 3399.2603810831583 + }, + { + "iteration": 16, + "petsc_scaled_norm": 1.5594336742999833e-09, + "physical_gate": false, + "physical_relative_residual": 0.04026628213763749, + "physical_residual_inf": 1325.0003006756306, + "physical_residual_l2": 2847.2561152694225 + }, + { + "iteration": 17, + "petsc_scaled_norm": 1.4353345612916019e-09, + "physical_gate": false, + "physical_relative_residual": 0.04006727578785919, + "physical_residual_inf": 1668.410401167348, + "physical_residual_l2": 2833.1842413266804 + }, + { + "iteration": 18, + "petsc_scaled_norm": 1.3460775445120233e-09, + "physical_gate": false, + "physical_relative_residual": 0.04167336879391748, + "physical_residual_inf": 2105.300698512234, + "physical_residual_l2": 2946.752166906691 + }, + { + "iteration": 19, + "petsc_scaled_norm": 1.2572716532276007e-09, + "physical_gate": false, + "physical_relative_residual": 0.03746350936316344, + "physical_residual_inf": 1791.788610451389, + "physical_residual_l2": 2649.070151773859 + }, + { + "iteration": 20, + "petsc_scaled_norm": 1.0702352629178664e-09, + "physical_gate": false, + "physical_relative_residual": 0.0261812643407281, + "physical_residual_inf": 875.8412619987503, + "physical_residual_l2": 1851.2949555366388 + }, + { + "iteration": 21, + "petsc_scaled_norm": 7.923243873085721e-10, + "physical_gate": false, + "physical_relative_residual": 0.020628489424466195, + "physical_residual_inf": 630.4071918218397, + "physical_residual_l2": 1458.6544757675028 + }, + { + "iteration": 22, + "petsc_scaled_norm": 5.427661965256798e-10, + "physical_gate": false, + "physical_relative_residual": 0.013799511203769732, + "physical_residual_inf": 272.1740694064647, + "physical_residual_l2": 975.7727949245316 + }, + { + "iteration": 23, + "petsc_scaled_norm": 3.6835438309221443e-10, + "physical_gate": false, + "physical_relative_residual": 0.009690035346266158, + "physical_residual_inf": 200.8234741265269, + "physical_residual_l2": 685.1889703282136 + }, + { + "iteration": 24, + "petsc_scaled_norm": 3.623839492958234e-10, + "physical_gate": false, + "physical_relative_residual": 0.009569391188071732, + "physical_residual_inf": 184.67467588466207, + "physical_residual_l2": 676.6581400912315 + }, + { + "iteration": 25, + "petsc_scaled_norm": 3.3175943874439937e-10, + "physical_gate": false, + "physical_relative_residual": 0.008434274127784648, + "physical_residual_inf": 178.26010514559403, + "physical_residual_l2": 596.3932430142778 + }, + { + "iteration": 26, + "petsc_scaled_norm": 2.6783728078333395e-10, + "physical_gate": false, + "physical_relative_residual": 0.006809528290085051, + "physical_residual_inf": 105.07355474960059, + "physical_residual_l2": 481.5063630600776 + }, + { + "iteration": 27, + "petsc_scaled_norm": 8.720411053022903e-11, + "physical_gate": false, + "physical_relative_residual": 0.002240222923610786, + "physical_residual_inf": 45.41162799671292, + "physical_residual_l2": 158.407682065474 + }, + { + "iteration": 28, + "petsc_scaled_norm": 6.844839867796159e-12, + "physical_gate": false, + "physical_relative_residual": 0.00018395640327735792, + "physical_residual_inf": 5.466648729518056, + "physical_residual_l2": 13.007682020010703 + }, + { + "iteration": 29, + "petsc_scaled_norm": 3.2000481219695964e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011309025843691063, + "physical_residual_inf": 2.533640034496784, + "physical_residual_l2": 7.9966888626878685 + }, + { + "iteration": 30, + "petsc_scaled_norm": 2.4638380309810217e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011265310477164338, + "physical_residual_inf": 2.583875603042543, + "physical_residual_l2": 7.965777430574766 + }, + { + "iteration": 31, + "petsc_scaled_norm": 2.0693558738345777e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011211673161593672, + "physical_residual_inf": 2.6155233653262258, + "physical_residual_l2": 7.927850121010105 + }, + { + "iteration": 32, + "petsc_scaled_norm": 1.8192157077154298e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011186377292439592, + "physical_residual_inf": 2.6326834401115775, + "physical_residual_l2": 7.909963240395247 + }, + { + "iteration": 33, + "petsc_scaled_norm": 1.642209652078551e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011170474090283222, + "physical_residual_inf": 2.6434107152745128, + "physical_residual_l2": 7.898717978307897 + }, + { + "iteration": 34, + "petsc_scaled_norm": 1.5085033052048221e-12, + "physical_gate": false, + "physical_relative_residual": 0.0001115968967224925, + "physical_residual_inf": 2.6507995668798685, + "physical_residual_l2": 7.891092243184926 + }, + { + "iteration": 35, + "petsc_scaled_norm": 1.402904864087344e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011151883434428874, + "physical_residual_inf": 2.656190736219287, + "physical_residual_l2": 7.885572399486582 + }, + { + "iteration": 36, + "petsc_scaled_norm": 1.3167714583280539e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011145972873281124, + "physical_residual_inf": 2.66029835306108, + "physical_residual_l2": 7.881393001618391 + }, + { + "iteration": 37, + "petsc_scaled_norm": 1.2447748862906306e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011141342680832403, + "physical_residual_inf": 2.663532381877303, + "physical_residual_l2": 7.878118961139702 + }, + { + "iteration": 38, + "petsc_scaled_norm": 1.1834280768992762e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011137617325545475, + "physical_residual_inf": 2.666144523769617, + "physical_residual_l2": 7.875484737153986 + }, + { + "iteration": 39, + "petsc_scaled_norm": 1.1303403761514373e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011134555370403332, + "physical_residual_inf": 2.6682984409853816, + "physical_residual_l2": 7.873319607909287 + }, + { + "iteration": 40, + "petsc_scaled_norm": 1.0838107339454349e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011131994135306539, + "physical_residual_inf": 2.670105053111911, + "physical_residual_l2": 7.871508541204132 + }, + { + "iteration": 41, + "petsc_scaled_norm": 1.0425913646024793e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011129820066849054, + "physical_residual_inf": 2.671641992405057, + "physical_residual_l2": 7.8699712426550805 + }, + { + "iteration": 42, + "petsc_scaled_norm": 1.0057434174994001e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011127951632604483, + "physical_residual_inf": 2.672965602017939, + "physical_residual_l2": 7.868650060130543 + }, + { + "iteration": 43, + "petsc_scaled_norm": 9.72545115582523e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011126328501752024, + "physical_residual_inf": 2.674117141403258, + "physical_residual_l2": 7.867502333298017 + }, + { + "iteration": 44, + "petsc_scaled_norm": 9.424312144622507e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011124905453216007, + "physical_residual_inf": 2.675128416158259, + "physical_residual_l2": 7.866496086028241 + }, + { + "iteration": 45, + "petsc_scaled_norm": 9.149518966170457e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011123647660138247, + "physical_residual_inf": 2.676023570820689, + "physical_residual_l2": 7.865606692013627 + }, + { + "iteration": 46, + "petsc_scaled_norm": 8.897441329447104e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011122527756157117, + "physical_residual_inf": 2.676821165718138, + "physical_residual_l2": 7.864814800314293 + }, + { + "iteration": 47, + "petsc_scaled_norm": 8.665112758914548e-13, + "physical_gate": false, + "physical_relative_residual": 0.000111215244278817, + "physical_residual_inf": 2.6775367464870214, + "physical_residual_l2": 7.864105340086989 + }, + { + "iteration": 48, + "petsc_scaled_norm": 8.450082265662136e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011120620313746702, + "physical_residual_inf": 2.678182098083198, + "physical_residual_l2": 7.863466034851165 + }, + { + "iteration": 49, + "petsc_scaled_norm": 8.250304615023099e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011119801315897597, + "physical_residual_inf": 2.67876713629812, + "physical_residual_l2": 7.862886915918287 + }, + { + "iteration": 50, + "petsc_scaled_norm": 8.064057856712874e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011119056025376856, + "physical_residual_inf": 2.6792998258024454, + "physical_residual_l2": 7.862359915937116 + }, + { + "iteration": 51, + "petsc_scaled_norm": 7.889880458107173e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011118374947882354, + "physical_residual_inf": 2.679787159897387, + "physical_residual_l2": 7.86187832142224 + }, + { + "iteration": 52, + "petsc_scaled_norm": 7.726522761530134e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011117750093336801, + "physical_residual_inf": 2.680234517902136, + "physical_residual_l2": 7.861436482535824 + }, + { + "iteration": 53, + "petsc_scaled_norm": 7.572909061656321e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011117174809599486, + "physical_residual_inf": 2.6806466691195965, + "physical_residual_l2": 7.861029695504063 + }, + { + "iteration": 54, + "petsc_scaled_norm": 7.428107662012528e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011116643325675557, + "physical_residual_inf": 2.681027501821518, + "physical_residual_l2": 7.860653879617361 + }, + { + "iteration": 55, + "petsc_scaled_norm": 7.291306999491701e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011116150957219285, + "physical_residual_inf": 2.681380675174296, + "physical_residual_l2": 7.860305722543089 + }, + { + "iteration": 56, + "petsc_scaled_norm": 7.161796435195943e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011115693445773583, + "physical_residual_inf": 2.6817089365795255, + "physical_residual_l2": 7.8599822130973624 + }, + { + "iteration": 57, + "petsc_scaled_norm": 7.038950670717075e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011115267294677037, + "physical_residual_inf": 2.6820149226114154, + "physical_residual_l2": 7.859680878767184 + }, + { + "iteration": 58, + "petsc_scaled_norm": 6.922217007992848e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011114869263539128, + "physical_residual_inf": 2.682300648652017, + "physical_residual_l2": 7.859399428250446 + }, + { + "iteration": 59, + "petsc_scaled_norm": 6.811104859194463e-13, + "physical_gate": false, + "physical_relative_residual": 0.0001111449671239355, + "physical_residual_inf": 2.68256810400635, + "physical_residual_l2": 7.859135994809069 + }, + { + "iteration": 60, + "petsc_scaled_norm": 6.705177051610606e-13, + "physical_gate": false, + "physical_relative_residual": 0.0001111414730058691, + "physical_residual_inf": 2.6828191988170147, + "physical_residual_l2": 7.858888923351167 + }, + { + "iteration": 61, + "petsc_scaled_norm": 6.60404257547464e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011113818951130749, + "physical_residual_inf": 2.683055236004293, + "physical_residual_l2": 7.858656745224117 + }, + { + "iteration": 62, + "petsc_scaled_norm": 6.50735050002188e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011113509815842805, + "physical_residual_inf": 2.683277575299144, + "physical_residual_l2": 7.858438153565707 + }, + { + "iteration": 63, + "petsc_scaled_norm": 6.414784841695889e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011113218172653977, + "physical_residual_inf": 2.6834872579202056, + "physical_residual_l2": 7.8582319306892 + }, + { + "iteration": 64, + "petsc_scaled_norm": 6.326060213264269e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011112942688175092, + "physical_residual_inf": 2.6836855858564377, + "physical_residual_l2": 7.858037133746069 + }, + { + "iteration": 65, + "petsc_scaled_norm": 6.240918117183347e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011112682028288085, + "physical_residual_inf": 2.6838732352480292, + "physical_residual_l2": 7.857852819372383 + }, + { + "iteration": 66, + "petsc_scaled_norm": 6.15912377342363e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011112434920842864, + "physical_residual_inf": 2.68405107408762, + "physical_residual_l2": 7.857678088022185 + }, + { + "iteration": 67, + "petsc_scaled_norm": 6.080463393004633e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011112200463297294, + "physical_residual_inf": 2.684219913557172, + "physical_residual_l2": 7.857512301501813 + }, + { + "iteration": 68, + "petsc_scaled_norm": 6.004741825069688e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011111977613749816, + "physical_residual_inf": 2.684380336664617, + "physical_residual_l2": 7.8573547230756065 + }, + { + "iteration": 69, + "petsc_scaled_norm": 5.931780518487437e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011111765635858992, + "physical_residual_inf": 2.6845330698415637, + "physical_residual_l2": 7.857204832071543 + }, + { + "iteration": 70, + "petsc_scaled_norm": 5.861415749469227e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011111563706272363, + "physical_residual_inf": 2.684678672812879, + "physical_residual_l2": 7.8570620462915155 + }, + { + "iteration": 71, + "petsc_scaled_norm": 5.793497075124718e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011111371033808695, + "physical_residual_inf": 2.6848173597827554, + "physical_residual_l2": 7.856925806285909 + }, + { + "iteration": 72, + "petsc_scaled_norm": 5.72788597968745e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011111187087651877, + "physical_residual_inf": 2.68494987860322, + "physical_residual_l2": 7.856795736711049 + }, + { + "iteration": 73, + "petsc_scaled_norm": 5.664454685669135e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011111011333409945, + "physical_residual_inf": 2.6850766325369477, + "physical_residual_l2": 7.856671459694756 + }, + { + "iteration": 74, + "petsc_scaled_norm": 5.603085106710479e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011110843148419697, + "physical_residual_inf": 2.685197805054486, + "physical_residual_l2": 7.856552534947658 + }, + { + "iteration": 75, + "petsc_scaled_norm": 5.543667922592308e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011110682124697678, + "physical_residual_inf": 2.6853140238672495, + "physical_residual_l2": 7.856438673981887 + }, + { + "iteration": 76, + "petsc_scaled_norm": 5.486101759914168e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011110527796277301, + "physical_residual_inf": 2.68542542681098, + "physical_residual_l2": 7.856329547309309 + }, + { + "iteration": 77, + "petsc_scaled_norm": 5.430292464464636e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011110379727317814, + "physical_residual_inf": 2.6855323147028685, + "physical_residual_l2": 7.856224846743972 + }, + { + "iteration": 78, + "petsc_scaled_norm": 5.37615245339787e-13, + "physical_gate": false, + "physical_relative_residual": 0.0001111023755383459, + "physical_residual_inf": 2.685634920373559, + "physical_residual_l2": 7.856124314909879 + }, + { + "iteration": 79, + "petsc_scaled_norm": 5.323600137073902e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011110100811314922, + "physical_residual_inf": 2.685733387246728, + "physical_residual_l2": 7.856027623346946 + }, + { + "iteration": 80, + "petsc_scaled_norm": 5.272559401878971e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109969451609867, + "physical_residual_inf": 2.6858282927423716, + "physical_residual_l2": 7.8559347380087265 + }, + { + "iteration": 81, + "petsc_scaled_norm": 5.222959146567668e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109842922410729, + "physical_residual_inf": 2.6859194952994585, + "physical_residual_l2": 7.855845268353998 + }, + { + "iteration": 82, + "petsc_scaled_norm": 5.174732865701778e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109721109395948, + "physical_residual_inf": 2.6860074289143085, + "physical_residual_l2": 7.855759133545209 + }, + { + "iteration": 83, + "petsc_scaled_norm": 5.12781827463456e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109603691104599, + "physical_residual_inf": 2.6860921373590827, + "physical_residual_l2": 7.855676106275161 + }, + { + "iteration": 84, + "petsc_scaled_norm": 5.082156971230722e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109490493347262, + "physical_residual_inf": 2.686173964291811, + "physical_residual_l2": 7.855596063373333 + }, + { + "iteration": 85, + "petsc_scaled_norm": 5.03769413014366e-13, + "physical_gate": false, + "physical_relative_residual": 0.0001110938126033836, + "physical_residual_inf": 2.686252851039171, + "physical_residual_l2": 7.85551882397201 + }, + { + "iteration": 86, + "petsc_scaled_norm": 4.99437822601044e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109275696459338, + "physical_residual_inf": 2.6863289484754205, + "physical_residual_l2": 7.855444179037304 + }, + { + "iteration": 87, + "petsc_scaled_norm": 4.95216078238655e-13, + "physical_gate": false, + "physical_relative_residual": 0.0001110917379202815, + "physical_residual_inf": 2.6864026468247175, + "physical_residual_l2": 7.855372121722978 + }, + { + "iteration": 88, + "petsc_scaled_norm": 4.910996143638726e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011109075280885113, + "physical_residual_inf": 2.686473986133933, + "physical_residual_l2": 7.855302463825714 + }, + { + "iteration": 89, + "petsc_scaled_norm": 4.87084126735535e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108979886976586, + "physical_residual_inf": 2.686542719602585, + "physical_residual_l2": 7.855235010146111 + }, + { + "iteration": 90, + "petsc_scaled_norm": 4.831655535128458e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108887636224065, + "physical_residual_inf": 2.6866094330325723, + "physical_residual_l2": 7.855169779013433 + }, + { + "iteration": 91, + "petsc_scaled_norm": 4.793400579816259e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108798188180424, + "physical_residual_inf": 2.686673897318542, + "physical_residual_l2": 7.855106529695211 + }, + { + "iteration": 92, + "petsc_scaled_norm": 4.756040127616197e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108711679714882, + "physical_residual_inf": 2.686736579053104, + "physical_residual_l2": 7.855045358972596 + }, + { + "iteration": 93, + "petsc_scaled_norm": 4.719539853470845e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108627808712929, + "physical_residual_inf": 2.6867972863838077, + "physical_residual_l2": 7.854986053218371 + }, + { + "iteration": 94, + "petsc_scaled_norm": 4.683867248496433e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108546375494398, + "physical_residual_inf": 2.6868560621514916, + "physical_residual_l2": 7.854928471237334 + }, + { + "iteration": 95, + "petsc_scaled_norm": 4.648991498270215e-13, + "physical_gate": false, + "physical_relative_residual": 0.0001110846742012813, + "physical_residual_inf": 2.6869131168350577, + "physical_residual_l2": 7.854872641362435 + }, + { + "iteration": 96, + "petsc_scaled_norm": 4.614883370940922e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108390773156589, + "physical_residual_inf": 2.686968528665602, + "physical_residual_l2": 7.8548184437691 + }, + { + "iteration": 97, + "petsc_scaled_norm": 4.581515114238908e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108316365540072, + "physical_residual_inf": 2.6870224103331566, + "physical_residual_l2": 7.85476582963889 + }, + { + "iteration": 98, + "petsc_scaled_norm": 4.548860360561304e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108244053062197, + "physical_residual_inf": 2.6870746444910765, + "physical_residual_l2": 7.854714696995419 + }, + { + "iteration": 99, + "petsc_scaled_norm": 4.516894039394486e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108173765025451, + "physical_residual_inf": 2.6871254928410053, + "physical_residual_l2": 7.854664995848 + }, + { + "iteration": 100, + "petsc_scaled_norm": 4.48559229641277e-13, + "physical_gate": false, + "physical_relative_residual": 0.00011108105404088111, + "physical_residual_inf": 2.6871748957782984, + "physical_residual_l2": 7.854616657365638 + }, + { + "iteration": 100, + "petsc_scaled_norm": 3.8189727649723465e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011108105404088111, + "physical_residual_inf": 2.6871748957782984, + "physical_residual_l2": 7.854616657365638 + }, + { + "iteration": 101, + "petsc_scaled_norm": 3.803417273664218e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011088986876465614, + "physical_residual_inf": 2.6778712701052427, + "physical_residual_l2": 7.841097816837468 + }, + { + "iteration": 102, + "petsc_scaled_norm": 3.742191326047355e-12, + "physical_gate": false, + "physical_relative_residual": 0.00011095902859573756, + "physical_residual_inf": 2.6123953880742192, + "physical_residual_l2": 7.845988155391808 + }, + { + "iteration": 103, + "petsc_scaled_norm": 3.675145645648898e-12, + "physical_gate": false, + "physical_relative_residual": 0.00010806446254875409, + "physical_residual_inf": 2.496603245846927, + "physical_residual_l2": 7.641311427350372 + }, + { + "iteration": 104, + "petsc_scaled_norm": 3.655035537641479e-12, + "physical_gate": false, + "physical_relative_residual": 0.00010712211153549823, + "physical_residual_inf": 2.398653478361666, + "physical_residual_l2": 7.5746771481772495 + }, + { + "iteration": 105, + "petsc_scaled_norm": 3.617731342004935e-12, + "physical_gate": false, + "physical_relative_residual": 0.0001082807282491234, + "physical_residual_inf": 2.4352163830772042, + "physical_residual_l2": 7.656603721677293 + }, + { + "iteration": 106, + "petsc_scaled_norm": 3.5897108347141948e-12, + "physical_gate": false, + "physical_relative_residual": 0.0001107461884017472, + "physical_residual_inf": 2.601747845299542, + "physical_residual_l2": 7.830938080943843 + }, + { + "iteration": 107, + "petsc_scaled_norm": 3.1909237319933945e-12, + "physical_gate": false, + "physical_relative_residual": 8.80942473176158e-05, + "physical_residual_inf": 2.133899813504277, + "physical_residual_l2": 6.229203966181096 + }, + { + "iteration": 108, + "petsc_scaled_norm": 3.190910460216544e-12, + "physical_gate": false, + "physical_relative_residual": 8.810791425000555e-05, + "physical_residual_inf": 2.1294490229201894, + "physical_residual_l2": 6.230170364238178 + }, + { + "iteration": 109, + "petsc_scaled_norm": 2.88437539388276e-12, + "physical_gate": false, + "physical_relative_residual": 8.109746042381032e-05, + "physical_residual_inf": 2.6720944531125395, + "physical_residual_l2": 5.734456420268395 + }, + { + "iteration": 110, + "petsc_scaled_norm": 2.7282025167897008e-12, + "physical_gate": false, + "physical_relative_residual": 8.078115924240211e-05, + "physical_residual_inf": 2.811331786201652, + "physical_residual_l2": 5.712090549241289 + }, + { + "iteration": 111, + "petsc_scaled_norm": 2.6869953464995335e-12, + "physical_gate": false, + "physical_relative_residual": 7.849539795334673e-05, + "physical_residual_inf": 2.908065853626783, + "physical_residual_l2": 5.550462818474813 + }, + { + "iteration": 112, + "petsc_scaled_norm": 2.595643305371412e-12, + "physical_gate": false, + "physical_relative_residual": 7.720107562177083e-05, + "physical_residual_inf": 2.8255023658139056, + "physical_residual_l2": 5.458940408704962 + }, + { + "iteration": 113, + "petsc_scaled_norm": 2.3320570969936416e-12, + "physical_gate": false, + "physical_relative_residual": 7.36506560117941e-05, + "physical_residual_inf": 2.2778194639695193, + "physical_residual_l2": 5.207887830477738 + }, + { + "iteration": 114, + "petsc_scaled_norm": 2.102340874865284e-12, + "physical_gate": false, + "physical_relative_residual": 6.47164755648432e-05, + "physical_residual_inf": 1.9193811416625977, + "physical_residual_l2": 4.5761458726394135 + }, + { + "iteration": 115, + "petsc_scaled_norm": 1.7206439981858097e-12, + "physical_gate": false, + "physical_relative_residual": 4.983705191793161e-05, + "physical_residual_inf": 1.3610584381831201, + "physical_residual_l2": 3.5240117365515475 + }, + { + "iteration": 116, + "petsc_scaled_norm": 1.5091994172543887e-12, + "physical_gate": false, + "physical_relative_residual": 5.072712902698765e-05, + "physical_residual_inf": 1.3898548008874059, + "physical_residual_l2": 3.5869496925107924 + }, + { + "iteration": 117, + "petsc_scaled_norm": 1.172327753915669e-12, + "physical_gate": false, + "physical_relative_residual": 2.922470754443676e-05, + "physical_residual_inf": 0.7324173058159431, + "physical_residual_l2": 2.066498888286489 + }, + { + "iteration": 118, + "petsc_scaled_norm": 1.1207953150614512e-12, + "physical_gate": false, + "physical_relative_residual": 2.7246820307644795e-05, + "physical_residual_inf": 0.6839890079950237, + "physical_residual_l2": 1.926641140530697 + }, + { + "iteration": 119, + "petsc_scaled_norm": 6.660684729099153e-13, + "physical_gate": false, + "physical_relative_residual": 1.6613673704756816e-05, + "physical_residual_inf": 0.45288184471428394, + "physical_residual_l2": 1.1747641337054178 + }, + { + "iteration": 120, + "petsc_scaled_norm": 5.86613477347207e-13, + "physical_gate": false, + "physical_relative_residual": 1.4269812525600432e-05, + "physical_residual_inf": 0.3585657449439168, + "physical_residual_l2": 1.00902812031128 + }, + { + "iteration": 121, + "petsc_scaled_norm": 5.406723690317449e-13, + "physical_gate": false, + "physical_relative_residual": 1.5507870773660645e-05, + "physical_residual_inf": 0.6156493313610554, + "physical_residual_l2": 1.0965720585820113 + }, + { + "iteration": 122, + "petsc_scaled_norm": 5.388888718347759e-13, + "physical_gate": false, + "physical_relative_residual": 1.5649161445198124e-05, + "physical_residual_inf": 0.6337167099118233, + "physical_residual_l2": 1.1065628177782667 + }, + { + "iteration": 123, + "petsc_scaled_norm": 1.8521534736663986e-13, + "physical_gate": false, + "physical_relative_residual": 5.982561976087099e-06, + "physical_residual_inf": 0.269923179410398, + "physical_residual_l2": 0.423031014215998 + }, + { + "iteration": 124, + "petsc_scaled_norm": 4.351211663542305e-14, + "physical_gate": false, + "physical_relative_residual": 1.091140500998664e-06, + "physical_residual_inf": 0.020952668972313404, + "physical_residual_l2": 0.07715528474834422 + }, + { + "iteration": 125, + "petsc_scaled_norm": 2.1402990663718123e-14, + "physical_gate": false, + "physical_relative_residual": 5.419075195287086e-07, + "physical_residual_inf": 0.013078326359391212, + "physical_residual_l2": 0.03831864818347313 + }, + { + "iteration": 126, + "petsc_scaled_norm": 2.1202406247772406e-14, + "physical_gate": false, + "physical_relative_residual": 5.406009792040967e-07, + "physical_residual_inf": 0.014855671674013138, + "physical_residual_l2": 0.03822626183113046 + }, + { + "iteration": 127, + "petsc_scaled_norm": 2.1122519203927685e-14, + "physical_gate": false, + "physical_relative_residual": 5.380514431782305e-07, + "physical_residual_inf": 0.013350563123822212, + "physical_residual_l2": 0.03804598240985352 + }, + { + "iteration": 128, + "petsc_scaled_norm": 5.876563914088278e-15, + "physical_gate": false, + "physical_relative_residual": 1.5575706632465511e-07, + "physical_residual_inf": 0.001608184538781643, + "physical_residual_l2": 0.01101368778158865 + }, + { + "iteration": 129, + "petsc_scaled_norm": 7.340376447169164e-16, + "physical_gate": false, + "physical_relative_residual": 2.0323707735401595e-08, + "physical_residual_inf": 0.0005026813596487045, + "physical_residual_l2": 0.0014371031558555961 + }, + { + "iteration": 130, + "petsc_scaled_norm": 6.998551238178494e-16, + "physical_gate": false, + "physical_relative_residual": 1.8503205038797305e-08, + "physical_residual_inf": 0.0003839973360300064, + "physical_residual_l2": 0.0013083741756618672 + }, + { + "iteration": 131, + "petsc_scaled_norm": 5.486711557613586e-16, + "physical_gate": false, + "physical_relative_residual": 1.8778161252813685e-08, + "physical_residual_inf": 0.00048682838678359985, + "physical_residual_l2": 0.0013278165160079034 + }, + { + "iteration": 132, + "petsc_scaled_norm": 4.485383100577448e-16, + "physical_gate": false, + "physical_relative_residual": 1.9304691837204947e-08, + "physical_residual_inf": 0.0004710666835308075, + "physical_residual_l2": 0.001365047850680421 + }, + { + "iteration": 133, + "petsc_scaled_norm": 3.947562508281351e-16, + "physical_gate": false, + "physical_relative_residual": 1.9949511696248585e-08, + "physical_residual_inf": 0.0005194228142499924, + "physical_residual_l2": 0.001410643500177772 + }, + { + "iteration": 134, + "petsc_scaled_norm": 3.533885259450617e-16, + "physical_gate": false, + "physical_relative_residual": 2.0301970188673948e-08, + "physical_residual_inf": 0.0005240775644779205, + "physical_residual_l2": 0.001435566079185848 + }, + { + "iteration": 135, + "petsc_scaled_norm": 3.2352612704705146e-16, + "physical_gate": false, + "physical_relative_residual": 2.0596533248215917e-08, + "physical_residual_inf": 0.000535404309630394, + "physical_residual_l2": 0.0014563948328747665 + }, + { + "iteration": 136, + "petsc_scaled_norm": 2.99935836294023e-16, + "physical_gate": false, + "physical_relative_residual": 2.080787011524123e-08, + "physical_residual_inf": 0.0005412772297859192, + "physical_residual_l2": 0.0014713386060535984 + }, + { + "iteration": 137, + "petsc_scaled_norm": 2.808954061095949e-16, + "physical_gate": false, + "physical_relative_residual": 2.097491323549643e-08, + "physical_residual_inf": 0.000546235591173172, + "physical_residual_l2": 0.0014831503383618996 + }, + { + "iteration": 138, + "petsc_scaled_norm": 2.6506601573872343e-16, + "physical_gate": false, + "physical_relative_residual": 2.110785378327191e-08, + "physical_residual_inf": 0.0005499981343746185, + "physical_residual_l2": 0.001492550654644569 + }, + { + "iteration": 139, + "petsc_scaled_norm": 2.516440893333625e-16, + "physical_gate": false, + "physical_relative_residual": 2.1216564026922787e-08, + "physical_residual_inf": 0.0005530416965484619, + "physical_residual_l2": 0.0015002376296915669 + }, + { + "iteration": 140, + "petsc_scaled_norm": 2.4007401237115864e-16, + "physical_gate": false, + "physical_relative_residual": 2.130699380629103e-08, + "physical_residual_inf": 0.0005555301904678345, + "physical_residual_l2": 0.0015066319807128157 + }, + { + "iteration": 141, + "petsc_scaled_norm": 2.2996590534032274e-16, + "physical_gate": false, + "physical_relative_residual": 2.138328067257192e-08, + "physical_residual_inf": 0.0005576163530349731, + "physical_residual_l2": 0.0015120262767590845 + }, + { + "iteration": 142, + "petsc_scaled_norm": 2.210357045068736e-16, + "physical_gate": false, + "physical_relative_residual": 2.1448579336860266e-08, + "physical_residual_inf": 0.0005593802779912949, + "physical_residual_l2": 0.0015166435895911559 + }, + { + "iteration": 143, + "petsc_scaled_norm": 2.1307108823593653e-16, + "physical_gate": false, + "physical_relative_residual": 2.1505086093889533e-08, + "physical_residual_inf": 0.0005608908832073212, + "physical_residual_l2": 0.0015206392206989813 + }, + { + "iteration": 144, + "petsc_scaled_norm": 2.0590971785654817e-16, + "physical_gate": false, + "physical_relative_residual": 2.1554417862578026e-08, + "physical_residual_inf": 0.0005622096359729767, + "physical_residual_l2": 0.0015241275035157373 + }, + { + "iteration": 145, + "petsc_scaled_norm": 1.9942506365247773e-16, + "physical_gate": false, + "physical_relative_residual": 2.159788550698145e-08, + "physical_residual_inf": 0.0005633588880300522, + "physical_residual_l2": 0.001527201130127724 + }, + { + "iteration": 146, + "petsc_scaled_norm": 1.9351684958988708e-16, + "physical_gate": false, + "physical_relative_residual": 2.1636423049813242e-08, + "physical_residual_inf": 0.0005643721669912338, + "physical_residual_l2": 0.0015299261459143867 + }, + { + "iteration": 147, + "petsc_scaled_norm": 1.8810444068677075e-16, + "physical_gate": false, + "physical_relative_residual": 2.167094186118978e-08, + "physical_residual_inf": 0.0005652811378240585, + "physical_residual_l2": 0.0015323669944746715 + }, + { + "iteration": 148, + "petsc_scaled_norm": 1.8312215834255873e-16, + "physical_gate": false, + "physical_relative_residual": 2.170188271317428e-08, + "physical_residual_inf": 0.000566091388463974, + "physical_residual_l2": 0.0015345548431000644 + }, + { + "iteration": 149, + "petsc_scaled_norm": 1.7851589272893176e-16, + "physical_gate": false, + "physical_relative_residual": 2.172988488124703e-08, + "physical_residual_inf": 0.0005668178200721741, + "physical_residual_l2": 0.0015365348953932812 + }, + { + "iteration": 150, + "petsc_scaled_norm": 1.742406081248407e-16, + "physical_gate": false, + "physical_relative_residual": 2.1755291403331052e-08, + "physical_residual_inf": 0.0005674809217453003, + "physical_residual_l2": 0.001538331407798479 + }, + { + "iteration": 151, + "petsc_scaled_norm": 1.7025847572744634e-16, + "physical_gate": false, + "physical_relative_residual": 2.177847999801512e-08, + "physical_residual_inf": 0.0005680788308382034, + "physical_residual_l2": 0.0015399710890532082 + }, + { + "iteration": 152, + "petsc_scaled_norm": 1.665374555588527e-16, + "physical_gate": false, + "physical_relative_residual": 2.1799702790243717e-08, + "physical_residual_inf": 0.0005686245858669281, + "physical_residual_l2": 0.0015414717670832634 + }, + { + "iteration": 153, + "petsc_scaled_norm": 1.6305020515260442e-16, + "physical_gate": false, + "physical_relative_residual": 2.1819217409199405e-08, + "physical_residual_inf": 0.0005691330879926682, + "physical_residual_l2": 0.0015428516590228474 + }, + { + "iteration": 154, + "petsc_scaled_norm": 1.5977322959980676e-16, + "physical_gate": false, + "physical_relative_residual": 2.1837227546678203e-08, + "physical_residual_inf": 0.0005696006119251251, + "physical_residual_l2": 0.0015441251680569834 + }, + { + "iteration": 155, + "petsc_scaled_norm": 1.566862123042084e-16, + "physical_gate": false, + "physical_relative_residual": 2.1853841732661808e-08, + "physical_residual_inf": 0.0005700215697288513, + "physical_residual_l2": 0.0015452999684142734 + }, + { + "iteration": 156, + "petsc_scaled_norm": 1.5377148272749845e-16, + "physical_gate": false, + "physical_relative_residual": 2.1869392506423438e-08, + "physical_residual_inf": 0.000570422038435936, + "physical_residual_l2": 0.0015463995741722282 + }, + { + "iteration": 157, + "petsc_scaled_norm": 1.5101358917280495e-16, + "physical_gate": false, + "physical_relative_residual": 2.188369525412239e-08, + "physical_residual_inf": 0.0005707833915948868, + "physical_residual_l2": 0.001547410931160981 + }, + { + "iteration": 158, + "petsc_scaled_norm": 1.4839895295605165e-16, + "physical_gate": false, + "physical_relative_residual": 2.1897169166803953e-08, + "physical_residual_inf": 0.0005711372941732407, + "physical_residual_l2": 0.001548363680663606 + }, + { + "iteration": 159, + "petsc_scaled_norm": 1.4591558625373666e-16, + "physical_gate": false, + "physical_relative_residual": 2.1909689541697107e-08, + "physical_residual_inf": 0.0005714539438486099, + "physical_residual_l2": 0.0015492490048626007 + }, + { + "iteration": 160, + "petsc_scaled_norm": 1.4355286021910672e-16, + "physical_gate": false, + "physical_relative_residual": 2.1921398565594272e-08, + "physical_residual_inf": 0.0005717501044273376, + "physical_residual_l2": 0.0015500769578824767 + }, + { + "iteration": 161, + "petsc_scaled_norm": 1.4130131311422188e-16, + "physical_gate": false, + "physical_relative_residual": 2.193245216106288e-08, + "physical_residual_inf": 0.0005720313638448715, + "physical_residual_l2": 0.0015508585651137113 + }, + { + "iteration": 162, + "petsc_scaled_norm": 1.3915249054484404e-16, + "physical_gate": false, + "physical_relative_residual": 2.1942816298583724e-08, + "physical_residual_inf": 0.0005722958594560623, + "physical_residual_l2": 0.0015515914203059252 + }, + { + "iteration": 163, + "petsc_scaled_norm": 1.3709881163737085e-16, + "physical_gate": false, + "physical_relative_residual": 2.1952585301598884e-08, + "physical_residual_inf": 0.0005725454539060593, + "physical_residual_l2": 0.0015522821931336702 + }, + { + "iteration": 164, + "petsc_scaled_norm": 1.3513345632215233e-16, + "physical_gate": false, + "physical_relative_residual": 2.196185263291595e-08, + "physical_residual_inf": 0.0005727801471948624, + "physical_residual_l2": 0.0015529374924154503 + }, + { + "iteration": 165, + "petsc_scaled_norm": 1.3325026989861988e-16, + "physical_gate": false, + "physical_relative_residual": 2.1970555935777574e-08, + "physical_residual_inf": 0.0005730055272579193, + "physical_residual_l2": 0.0015535529088626678 + }, + { + "iteration": 166, + "petsc_scaled_norm": 1.3144368183564203e-16, + "physical_gate": false, + "physical_relative_residual": 2.197878320711224e-08, + "physical_residual_inf": 0.0005732066929340363, + "physical_residual_l2": 0.0015541346647978082 + }, + { + "iteration": 167, + "petsc_scaled_norm": 1.29708636363881e-16, + "physical_gate": false, + "physical_relative_residual": 2.198666659935257e-08, + "physical_residual_inf": 0.0005734078586101532, + "physical_residual_l2": 0.001554692104808997 + }, + { + "iteration": 168, + "petsc_scaled_norm": 1.2804053288834004e-16, + "physical_gate": false, + "physical_relative_residual": 2.1994114348277397e-08, + "physical_residual_inf": 0.0005736034363508224, + "physical_residual_l2": 0.0015552187401859292 + }, + { + "iteration": 169, + "petsc_scaled_norm": 1.264351746202026e-16, + "physical_gate": false, + "physical_relative_residual": 2.2001178720449293e-08, + "physical_residual_inf": 0.0005737766623497009, + "physical_residual_l2": 0.0015557182667326865 + }, + { + "iteration": 170, + "petsc_scaled_norm": 1.2488872412083646e-16, + "physical_gate": false, + "physical_relative_residual": 2.2007891496883883e-08, + "physical_residual_inf": 0.0005739480257034302, + "physical_residual_l2": 0.0015561929317064354 + }, + { + "iteration": 171, + "petsc_scaled_norm": 1.2339766468496738e-16, + "physical_gate": false, + "physical_relative_residual": 2.2014298264118565e-08, + "physical_residual_inf": 0.0005741026252508163, + "physical_residual_l2": 0.001556645958562148 + }, + { + "iteration": 172, + "petsc_scaled_norm": 1.2195876667773805e-16, + "physical_gate": false, + "physical_relative_residual": 2.2020529365224203e-08, + "physical_residual_inf": 0.0005742684006690979, + "physical_residual_l2": 0.0015570865639467537 + }, + { + "iteration": 173, + "petsc_scaled_norm": 1.2056905809170985e-16, + "physical_gate": false, + "physical_relative_residual": 2.2026317622274816e-08, + "physical_residual_inf": 0.0005744043737649918, + "physical_residual_l2": 0.0015574958555279275 + }, + { + "iteration": 174, + "petsc_scaled_norm": 1.1922579871253725e-16, + "physical_gate": false, + "physical_relative_residual": 2.203188344739385e-08, + "physical_residual_inf": 0.0005745459347963333, + "physical_residual_l2": 0.0015578894187963843 + }, + { + "iteration": 175, + "petsc_scaled_norm": 1.1792645738198591e-16, + "physical_gate": false, + "physical_relative_residual": 2.2037295913781094e-08, + "physical_residual_inf": 0.0005746856331825256, + "physical_residual_l2": 0.0015582721379649208 + }, + { + "iteration": 176, + "petsc_scaled_norm": 1.1666869192878234e-16, + "physical_gate": false, + "physical_relative_residual": 2.204242123290375e-08, + "physical_residual_inf": 0.0005748122930526733, + "physical_residual_l2": 0.0015586345527556582 + }, + { + "iteration": 177, + "petsc_scaled_norm": 1.1545033140507321e-16, + "physical_gate": false, + "physical_relative_residual": 2.2047308496163576e-08, + "physical_residual_inf": 0.0005749370902776718, + "physical_residual_l2": 0.0015589801344549048 + }, + { + "iteration": 178, + "petsc_scaled_norm": 1.142693603218585e-16, + "physical_gate": false, + "physical_relative_residual": 2.2052028269383232e-08, + "physical_residual_inf": 0.0005750600248575211, + "physical_residual_l2": 0.001559313872819833 + }, + { + "iteration": 179, + "petsc_scaled_norm": 1.1312390462287525e-16, + "physical_gate": false, + "physical_relative_residual": 2.2056605575828426e-08, + "physical_residual_inf": 0.0005751717835664749, + "physical_residual_l2": 0.0015596375372625296 + }, + { + "iteration": 180, + "petsc_scaled_norm": 1.120122191748165e-16, + "physical_gate": false, + "physical_relative_residual": 2.2060974123509858e-08, + "physical_residual_inf": 0.0005752891302108765, + "physical_residual_l2": 0.0015599464402314773 + }, + { + "iteration": 181, + "petsc_scaled_norm": 1.1093267658388408e-16, + "physical_gate": false, + "physical_relative_residual": 2.2065157696010285e-08, + "physical_residual_inf": 0.0005753803998231888, + "physical_residual_l2": 0.001560242263479941 + }, + { + "iteration": 182, + "petsc_scaled_norm": 1.0988375717562503e-16, + "physical_gate": false, + "physical_relative_residual": 2.2069224011654974e-08, + "physical_residual_inf": 0.0005754958838224411, + "physical_residual_l2": 0.0015605297954166216 + }, + { + "iteration": 183, + "petsc_scaled_norm": 1.088640399977009e-16, + "physical_gate": false, + "physical_relative_residual": 2.2073135786337572e-08, + "physical_residual_inf": 0.0005755927413702011, + "physical_residual_l2": 0.0015608063996570755 + }, + { + "iteration": 184, + "petsc_scaled_norm": 1.0787219472442148e-16, + "physical_gate": false, + "physical_relative_residual": 2.2076821008433552e-08, + "physical_residual_inf": 0.0005756765604019165, + "physical_residual_l2": 0.0015610669842105 + }, + { + "iteration": 185, + "petsc_scaled_norm": 1.0690697435813932e-16, + "physical_gate": false, + "physical_relative_residual": 2.20804511349796e-08, + "physical_residual_inf": 0.0005757678300142288, + "physical_residual_l2": 0.0015613236729202274 + }, + { + "iteration": 186, + "petsc_scaled_norm": 1.0596720863643489e-16, + "physical_gate": false, + "physical_relative_residual": 2.2083936841208104e-08, + "physical_residual_inf": 0.0005758553743362427, + "physical_residual_l2": 0.0015615701495713676 + }, + { + "iteration": 187, + "petsc_scaled_norm": 1.0505179806582445e-16, + "physical_gate": false, + "physical_relative_residual": 2.208736269634768e-08, + "physical_residual_inf": 0.0005759447813034058, + "physical_residual_l2": 0.0015618123941114233 + }, + { + "iteration": 188, + "petsc_scaled_norm": 1.041597085128203e-16, + "physical_gate": false, + "physical_relative_residual": 2.2090562486381514e-08, + "physical_residual_inf": 0.0005760230123996735, + "physical_residual_l2": 0.001562038653434553 + }, + { + "iteration": 189, + "petsc_scaled_norm": 1.032899662918378e-16, + "physical_gate": false, + "physical_relative_residual": 2.209380340031257e-08, + "physical_residual_inf": 0.0005761086940765381, + "physical_residual_l2": 0.0015622678206563424 + }, + { + "iteration": 190, + "petsc_scaled_norm": 1.0244165369689797e-16, + "physical_gate": false, + "physical_relative_residual": 2.2096825853020315e-08, + "physical_residual_inf": 0.0005761813372373581, + "physical_residual_l2": 0.0015624815403368884 + }, + { + "iteration": 191, + "petsc_scaled_norm": 1.016139049305049e-16, + "physical_gate": false, + "physical_relative_residual": 2.209984821379603e-08, + "physical_residual_inf": 0.0005762595683336258, + "physical_residual_l2": 0.0015626952535168583 + }, + { + "iteration": 192, + "petsc_scaled_norm": 1.0080590238863864e-16, + "physical_gate": false, + "physical_relative_residual": 2.2102611040797462e-08, + "physical_residual_inf": 0.0005763247609138489, + "physical_residual_l2": 0.0015628906148876542 + }, + { + "iteration": 193, + "petsc_scaled_norm": 1.0001687326562474e-16, + "physical_gate": false, + "physical_relative_residual": 2.2105426347528786e-08, + "physical_residual_inf": 0.0005763955414295197, + "physical_residual_l2": 0.0015630896871357382 + }, + { + "iteration": 194, + "petsc_scaled_norm": 9.9246086446832e-17, + "physical_gate": false, + "physical_relative_residual": 2.2108115284026958e-08, + "physical_residual_inf": 0.000576462596654892, + "physical_residual_l2": 0.001563279823658942 + }, + { + "iteration": 195, + "petsc_scaled_norm": 9.849284966079764e-17, + "physical_gate": false, + "physical_relative_residual": 2.2110716780258188e-08, + "physical_residual_inf": 0.0005765296518802643, + "physical_residual_l2": 0.0015634637772215753 + }, + { + "iteration": 196, + "petsc_scaled_norm": 9.77565068655653e-17, + "physical_gate": false, + "physical_relative_residual": 2.2113259325853162e-08, + "physical_residual_inf": 0.0005766004323959351, + "physical_residual_l2": 0.0015636435623447434 + }, + { + "iteration": 197, + "petsc_scaled_norm": 9.70364358468065e-17, + "physical_gate": false, + "physical_relative_residual": 2.211569839713005e-08, + "physical_residual_inf": 0.0005766544491052628, + "physical_residual_l2": 0.001563816030728712 + }, + { + "iteration": 198, + "petsc_scaled_norm": 9.633204600773942e-17, + "physical_gate": false, + "physical_relative_residual": 2.2118122437607964e-08, + "physical_residual_inf": 0.0005767140537500381, + "physical_residual_l2": 0.0015639874362746923 + }, + { + "iteration": 199, + "petsc_scaled_norm": 9.56427763330033e-17, + "physical_gate": false, + "physical_relative_residual": 2.212039367054491e-08, + "physical_residual_inf": 0.0005767643451690674, + "physical_residual_l2": 0.0015641480366958291 + }, + { + "iteration": 200, + "petsc_scaled_norm": 9.496809351053526e-17, + "physical_gate": false, + "physical_relative_residual": 2.2122637959002698e-08, + "physical_residual_inf": 0.000576825812458992, + "physical_residual_l2": 0.0015643067318545734 + }, + { + "iteration": 200, + "petsc_scaled_norm": 7.953839474975614e-16, + "physical_gate": false, + "physical_relative_residual": 2.2122637959002698e-08, + "physical_residual_inf": 0.000576825812458992, + "physical_residual_l2": 0.0015643067318545734 + }, + { + "iteration": 201, + "petsc_scaled_norm": 7.947196470872823e-16, + "physical_gate": false, + "physical_relative_residual": 2.2137907639619886e-08, + "physical_residual_inf": 0.000576898455619812, + "physical_residual_l2": 0.00156538646132567 + }, + { + "iteration": 202, + "petsc_scaled_norm": 7.910695434530536e-16, + "physical_gate": false, + "physical_relative_residual": 2.2189891845720867e-08, + "physical_residual_inf": 0.0005772355943918228, + "physical_residual_l2": 0.0015690622997905303 + }, + { + "iteration": 203, + "petsc_scaled_norm": 7.899797762421157e-16, + "physical_gate": false, + "physical_relative_residual": 2.2125882120973382e-08, + "physical_residual_inf": 0.000577092170715332, + "physical_residual_l2": 0.0015645361287474472 + }, + { + "iteration": 204, + "petsc_scaled_norm": 7.899427184365695e-16, + "physical_gate": false, + "physical_relative_residual": 2.2136761195870273e-08, + "physical_residual_inf": 0.0005772598087787628, + "physical_residual_l2": 0.0015653053955107098 + }, + { + "iteration": 205, + "petsc_scaled_norm": 7.899378368261583e-16, + "physical_gate": false, + "physical_relative_residual": 2.213413115709425e-08, + "physical_residual_inf": 0.0005770176649093628, + "physical_residual_l2": 0.0015651194236853791 + }, + { + "iteration": 206, + "petsc_scaled_norm": 7.46485247201176e-16, + "physical_gate": false, + "physical_relative_residual": 2.166799598759586e-08, + "physical_residual_inf": 0.0005924301221966743, + "physical_residual_l2": 0.0015321586897551935 + }, + { + "iteration": 207, + "petsc_scaled_norm": 7.048566116529787e-16, + "physical_gate": false, + "physical_relative_residual": 2.2263267149986134e-08, + "physical_residual_inf": 0.0007921485230326653, + "physical_residual_l2": 0.0015742507173122898 + }, + { + "iteration": 208, + "petsc_scaled_norm": 6.895616836136731e-16, + "physical_gate": false, + "physical_relative_residual": 2.278946402271303e-08, + "physical_residual_inf": 0.0008732238784432411, + "physical_residual_l2": 0.001611458455006724 + }, + { + "iteration": 209, + "petsc_scaled_norm": 6.748154533184879e-16, + "physical_gate": false, + "physical_relative_residual": 2.2284574573823804e-08, + "physical_residual_inf": 0.0008429829031229019, + "physical_residual_l2": 0.001575757379700813 + }, + { + "iteration": 210, + "petsc_scaled_norm": 6.622813669081106e-16, + "physical_gate": false, + "physical_relative_residual": 2.2429870547380902e-08, + "physical_residual_inf": 0.0008364273235201836, + "physical_residual_l2": 0.0015860313565189456 + }, + { + "iteration": 211, + "petsc_scaled_norm": 5.856676389995303e-16, + "physical_gate": false, + "physical_relative_residual": 1.9178126409895944e-08, + "physical_residual_inf": 0.000592387281358242, + "physical_residual_l2": 0.001356098323489024 + }, + { + "iteration": 212, + "petsc_scaled_norm": 5.849853219755885e-16, + "physical_gate": false, + "physical_relative_residual": 1.9490226024731877e-08, + "physical_residual_inf": 0.0006200075149536133, + "physical_residual_l2": 0.0013781670988946438 + }, + { + "iteration": 213, + "petsc_scaled_norm": 4.760203447913821e-16, + "physical_gate": false, + "physical_relative_residual": 1.5184676590441193e-08, + "physical_residual_inf": 0.0004816511645913124, + "physical_residual_l2": 0.0010737187787225593 + }, + { + "iteration": 214, + "petsc_scaled_norm": 3.700553457030056e-16, + "physical_gate": false, + "physical_relative_residual": 1.0990895534138834e-08, + "physical_residual_inf": 0.0003038807772099972, + "physical_residual_l2": 0.0007771736763502512 + }, + { + "iteration": 215, + "petsc_scaled_norm": 3.6734817464344565e-16, + "physical_gate": false, + "physical_relative_residual": 1.0909021729008143e-08, + "physical_residual_inf": 0.00029783323407173157, + "physical_residual_l2": 0.0007713843240693054 + }, + { + "iteration": 216, + "petsc_scaled_norm": 1.6604150267251994e-16, + "physical_gate": true, + "physical_relative_residual": 4.224746135676572e-09, + "physical_residual_inf": 0.00010941545770037919, + "physical_residual_l2": 0.0002987346641328566 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 139983.0, + "nz_unneeded": 0.0, + "nz_used": 139983.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 129828.0, + "nz_unneeded": 0.0, + "nz_used": 129828.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 80028.0, + "nz_unneeded": 0.0, + "nz_used": 80028.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 349839.0, + "nz_used_sum": 349839.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 34, + "owned_row_pattern_complete": true, + "received_row_records": 3349, + "sent_row_records": 3345, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -99999.99979107204, + -0.0036017649799759965, + -0.0023271671307156794 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 2.166250394002418, + "segments": 555, + "solution": null, + "solve_seconds": 1.7549196520012629, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/replay_1.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/replay_1.json new file mode 100644 index 00000000..876aeee5 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/replay_1.json @@ -0,0 +1,17051 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 25.580315389001044, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 9.631889424879142e-17, + "final_reported_residual": 9.633620162091817e-17, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 927998.7140548625, + "free_dof_residual_l2": 0.0005753587794243713, + "ghost_interface_residual_l2": 6423.868131182894, + "owned_dof_residual_l2": 927998.7140548625, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5972404659345.003, + "scaled_reconstructed_free_residual_l2": 0.0005753385156652065, + "scaled_to_physical_reconstruction_relative": 5.0026490287615145e-06, + "true_relative_residual": 8.136801890923759e-09, + "true_residual_inf": 26015.918857201934, + "true_residual_l2": 927998.7140548625 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.98821212952, + 0.00016670010086272669, + -0.00219823407860531 + ], + "distributed_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.1586895195724323e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06843852151723825, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 1.1787617157096974e-07, + "force_balance_relative": 1.198775023831401e-07, + "free_residual_relative": 8.136801890923759e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 13, + "ksp_final_residual": 9.633620162091817e-17, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 14, + "callback_error": null, + "final_force_balance_relative": 1.198775023831401e-07, + "final_physical_relative_residual": 8.136801890923759e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 2.80246001165333e-09, + "physical_gate": false, + "physical_relative_residual": 0.22460987550101455, + "physical_residual_inf": 10608.785590382533, + "physical_residual_l2": 15882.31660882336 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.2553998390264497e-09, + "physical_gate": false, + "physical_relative_residual": 0.06221447010777851, + "physical_residual_inf": 3931.311657830005, + "physical_residual_l2": 4399.227370113795 + }, + { + "iteration": 3, + "petsc_scaled_norm": 1.3074654655334746e-10, + "physical_gate": false, + "physical_relative_residual": 0.01796378430551288, + "physical_residual_inf": 1150.496795296669, + "physical_residual_l2": 1270.2313698200633 + }, + { + "iteration": 4, + "petsc_scaled_norm": 7.078541803015117e-11, + "physical_gate": false, + "physical_relative_residual": 0.005980426096242984, + "physical_residual_inf": 320.44395192712545, + "physical_residual_l2": 422.87998470384065 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.757315090122606e-11, + "physical_gate": false, + "physical_relative_residual": 0.001430948130424742, + "physical_residual_inf": 26.31322317570448, + "physical_residual_l2": 101.18331265495475 + }, + { + "iteration": 6, + "petsc_scaled_norm": 9.074965851994385e-12, + "physical_gate": false, + "physical_relative_residual": 0.0006908359584342972, + "physical_residual_inf": 8.77089773118496, + "physical_residual_l2": 48.84947908963995 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.6072007144679926e-12, + "physical_gate": false, + "physical_relative_residual": 0.00012247384858278616, + "physical_residual_inf": 1.0241659283638, + "physical_residual_l2": 8.660208885090253 + }, + { + "iteration": 8, + "petsc_scaled_norm": 3.5206048129653935e-13, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "physical_residual_inf": 0.32434655725955963, + "physical_residual_l2": 2.107094062392041 + }, + { + "iteration": 9, + "petsc_scaled_norm": 6.636855418633056e-14, + "physical_gate": false, + "physical_relative_residual": 4.897376012844581e-06, + "physical_residual_inf": 0.1081702932715416, + "physical_residual_l2": 0.34629677887027405 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1434942996093187e-14, + "physical_gate": false, + "physical_relative_residual": 8.679504856486099e-07, + "physical_residual_inf": 0.00807230919599533, + "physical_residual_l2": 0.061373367413628935 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.999112873044896e-15, + "physical_gate": false, + "physical_relative_residual": 2.492916746225318e-07, + "physical_residual_inf": 0.0008761733770370483, + "physical_residual_l2": 0.01762758336189426 + }, + { + "iteration": 12, + "petsc_scaled_norm": 7.272915227763282e-16, + "physical_gate": false, + "physical_relative_residual": 5.3867438475377226e-08, + "physical_residual_inf": 8.399481748710969e-05, + "physical_residual_l2": 0.003809003103108838 + }, + { + "iteration": 13, + "petsc_scaled_norm": 9.633620162091817e-17, + "physical_gate": true, + "physical_relative_residual": 8.136801890923759e-09, + "physical_residual_inf": 1.4096498489379883e-05, + "physical_residual_l2": 0.0005753587794243713 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 3.0845865299997968, + "segments": 5556, + "solution": null, + "solve_seconds": 1.041913344997738, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/replay_2.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/replay_2.json new file mode 100644 index 00000000..ca72df8e --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/replay_2.json @@ -0,0 +1,17051 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 26.51735914299934, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 9.631889424879142e-17, + "final_reported_residual": 9.633620162091817e-17, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755461837e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 22.11823953782471, + "row_sum_weighted": 44437721.95668489, + "shape": [ + 100023, + 100023 + ], + "trace": 2.818787603782043e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 927998.7140548625, + "free_dof_residual_l2": 0.0005753587794243713, + "ghost_interface_residual_l2": 6423.868131182894, + "owned_dof_residual_l2": 927998.7140548625, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 5972404659345.003, + "scaled_reconstructed_free_residual_l2": 0.0005753385156652065, + "scaled_to_physical_reconstruction_relative": 5.0026490287615145e-06, + "true_relative_residual": 8.136801890923759e-09, + "true_residual_inf": 26015.918857201934, + "true_residual_l2": 927998.7140548625 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -99999.98821212952, + 0.00016670010086272669, + -0.00219823407860531 + ], + "distributed_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.1586895195724323e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.06843852151723825, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 1.1787617157096974e-07, + "force_balance_relative": 1.198775023831401e-07, + "free_residual_relative": 8.136801890923759e-09, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 13, + "ksp_final_residual": 9.633620162091817e-17, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.870986794761176e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "9485823f4a3ce9037ffd886ec4a534090045027b69826adc77bf7f2fe23e87df", + "records": [ + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333 + ], + "owned_nodes": 16673, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 2778, + "TET4": 2778, + "WEDGE6": 2778 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 16673, + "owned_elements": [ + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 16668, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 14, + "callback_error": null, + "final_force_balance_relative": 1.198775023831401e-07, + "final_physical_relative_residual": 8.136801890923759e-09, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 2.80246001165333e-09, + "physical_gate": false, + "physical_relative_residual": 0.22460987550101455, + "physical_residual_inf": 10608.785590382533, + "physical_residual_l2": 15882.31660882336 + }, + { + "iteration": 2, + "petsc_scaled_norm": 1.2553998390264497e-09, + "physical_gate": false, + "physical_relative_residual": 0.06221447010777851, + "physical_residual_inf": 3931.311657830005, + "physical_residual_l2": 4399.227370113795 + }, + { + "iteration": 3, + "petsc_scaled_norm": 1.3074654655334746e-10, + "physical_gate": false, + "physical_relative_residual": 0.01796378430551288, + "physical_residual_inf": 1150.496795296669, + "physical_residual_l2": 1270.2313698200633 + }, + { + "iteration": 4, + "petsc_scaled_norm": 7.078541803015117e-11, + "physical_gate": false, + "physical_relative_residual": 0.005980426096242984, + "physical_residual_inf": 320.44395192712545, + "physical_residual_l2": 422.87998470384065 + }, + { + "iteration": 5, + "petsc_scaled_norm": 1.757315090122606e-11, + "physical_gate": false, + "physical_relative_residual": 0.001430948130424742, + "physical_residual_inf": 26.31322317570448, + "physical_residual_l2": 101.18331265495475 + }, + { + "iteration": 6, + "petsc_scaled_norm": 9.074965851994385e-12, + "physical_gate": false, + "physical_relative_residual": 0.0006908359584342972, + "physical_residual_inf": 8.77089773118496, + "physical_residual_l2": 48.84947908963995 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.6072007144679926e-12, + "physical_gate": false, + "physical_relative_residual": 0.00012247384858278616, + "physical_residual_inf": 1.0241659283638, + "physical_residual_l2": 8.660208885090253 + }, + { + "iteration": 8, + "petsc_scaled_norm": 3.5206048129653935e-13, + "physical_gate": false, + "physical_relative_residual": 2.9798810002306444e-05, + "physical_residual_inf": 0.32434655725955963, + "physical_residual_l2": 2.107094062392041 + }, + { + "iteration": 9, + "petsc_scaled_norm": 6.636855418633056e-14, + "physical_gate": false, + "physical_relative_residual": 4.897376012844581e-06, + "physical_residual_inf": 0.1081702932715416, + "physical_residual_l2": 0.34629677887027405 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.1434942996093187e-14, + "physical_gate": false, + "physical_relative_residual": 8.679504856486099e-07, + "physical_residual_inf": 0.00807230919599533, + "physical_residual_l2": 0.061373367413628935 + }, + { + "iteration": 11, + "petsc_scaled_norm": 2.999112873044896e-15, + "physical_gate": false, + "physical_relative_residual": 2.492916746225318e-07, + "physical_residual_inf": 0.0008761733770370483, + "physical_residual_l2": 0.01762758336189426 + }, + { + "iteration": 12, + "petsc_scaled_norm": 7.272915227763282e-16, + "physical_gate": false, + "physical_relative_residual": 5.3867438475377226e-08, + "physical_residual_inf": 8.399481748710969e-05, + "physical_residual_l2": 0.003809003103108838 + }, + { + "iteration": 13, + "petsc_scaled_norm": 9.633620162091817e-17, + "physical_gate": true, + "physical_relative_residual": 8.136801890923759e-09, + "physical_residual_inf": 1.4096498489379883e-05, + "physical_residual_l2": 0.0005753587794243713 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 2100249.0, + "nz_unneeded": 0.0, + "nz_used": 2100249.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400220.0, + "nz_unneeded": 0.0, + "nz_used": 1400220.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 23, + "owned_row_pattern_complete": true, + "received_row_records": 50020, + "sent_row_records": 50019, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -99999.98821238284, + 0.00016719825316613424, + -0.0021749212119175354 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 3.431505830001697, + "segments": 5556, + "solution": null, + "solve_seconds": 1.14329829000053, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/scale_a_3r.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/scale_a_3r.json new file mode 100644 index 00000000..cf496a35 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/scale_a_3r.json @@ -0,0 +1,18581 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 25.830757638999785, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": -5, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 5556, + "local_kernel_dispatches": 5556, + "offprocess_insertions": true, + "owned_element_contributions": 5556, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 66681, + "fixed_dof_count": 66681, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 6.691976545366457e-11, + "final_reported_residual": 9.485045339546517e-12, + "initial_residual": 1.9369785346550823e-08, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": -5, + "reason_name": "KSP_DIVERGED_BREAKDOWN", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 1.2636806144102223e+24, + "frobenius_norm": 1.6130168755428557e+17, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 6668050000.0, + "row_sum_l2": 21.97473055958078, + "row_sum_weighted": 43684118.16960244, + "shape": [ + 100023, + 100023 + ], + "trace": 2.8187876037820424e+19 + }, + "physical_residual": { + "constrained_dof_residual_l2": 894994.7834152447, + "free_dof_residual_l2": 404.4035207711986, + "ghost_interface_residual_l2": 9758.058384172573, + "owned_dof_residual_l2": 894994.8747801343, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 42635908031466.86, + "scaled_reconstructed_free_residual_l2": 404.4035207478212, + "scaled_to_physical_reconstruction_relative": 1.0908896397901628e-08, + "true_relative_residual": 0.005719129437460587, + "true_residual_inf": 24970.172242969275, + "true_residual_l2": 894994.8747801343 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -102462.86633141604, + 6736.96838349231, + -2798.0954272183735 + ], + "distributed_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "duplication": false, + "loss": false, + "relative_difference": 2.0310950387424964e-12 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 16668, + "energy": 0.0663607704991469, + "family_counts": { + "HEX8": 5556, + "TET4": 5556, + "WEDGE6": 5556 + }, + "force_balance_component_relative": 0.06736968383609836, + "force_balance_relative": 0.0769946696259652, + "free_residual_relative": 0.005719129437460587, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": false, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 200, + "ksp_final_residual": 9.485045339546517e-12, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 1134350018576191.2, + "diagonal_min": 37396156269027.43, + "diagonal_ratio_indicator": 30.33333186479629, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": false, + "symmetry_relative_probe": 6.884139145745532e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "0e287a7a54a88e188931d464c38dab57f7090ff794b3b0e39af12d18e529a5fc", + "ndof": 100023, + "offprocess_insertion": true, + "partition": { + "digest": "c7abdb1cc3aa0a80247bb4651e923947141580d77a50ef0ab7afcedc51a5de50", + "records": [ + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555 + ], + "owned_nodes": 11117, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6666, + 6667, + 6668, + 6669, + 6670, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6759, + 6760, + 6761, + 6762, + 6763, + 6764, + 6765, + 6766, + 6767, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6774, + 6775, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6785, + 6786, + 6787, + 6788, + 6789, + 6790, + 6791, + 6792, + 6793, + 6794, + 6795, + 6796, + 6797, + 6798, + 6799, + 6800, + 6801, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6808, + 6809, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6858, + 6859, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6866, + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6940, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6962, + 6963, + 6964, + 6965, + 6966, + 6967, + 6968, + 6969, + 6970, + 6971, + 6972, + 6973, + 6974, + 6975, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6995, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7016, + 7017, + 7018, + 7019, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7072, + 7073, + 7074, + 7075, + 7076, + 7077, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 7149, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7156, + 7157, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7164, + 7165, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, + 7218, + 7219, + 7220, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7228, + 7229, + 7230, + 7231, + 7232, + 7233, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7243, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7278, + 7279, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7286, + 7287, + 7288, + 7289, + 7290, + 7291, + 7292, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7300, + 7301, + 7302, + 7303, + 7304, + 7305, + 7306, + 7307, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7324, + 7325, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7332, + 7333, + 7334, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7361, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7368, + 7369, + 7370, + 7371, + 7372, + 7373, + 7374, + 7375, + 7376, + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7396, + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7440, + 7441, + 7442, + 7443, + 7444, + 7445, + 7446, + 7447, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7484, + 7485, + 7486, + 7487, + 7488, + 7489, + 7490, + 7491, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7511, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7535, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7577, + 7578, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7599, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7634, + 7635, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7670, + 7671, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7693, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7706, + 7707, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7738, + 7739, + 7740, + 7741, + 7742, + 7743, + 7744, + 7745, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7821, + 7822, + 7823, + 7824, + 7825, + 7826, + 7827, + 7828, + 7829, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7896, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7920, + 7921, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7942, + 7943, + 7944, + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7968, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 7999, + 8000, + 8001, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8009, + 8010, + 8011, + 8012, + 8013, + 8014, + 8015, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8060, + 8061, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8089, + 8090, + 8091, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8103, + 8104, + 8105, + 8106, + 8107, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8116, + 8117, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8142, + 8143, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8164, + 8165, + 8166, + 8167, + 8168, + 8169, + 8170, + 8171, + 8172, + 8173, + 8174, + 8175, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8203, + 8204, + 8205, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8238, + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8260, + 8261, + 8262, + 8263, + 8264, + 8265, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8281, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8296, + 8297, + 8298, + 8299, + 8300, + 8301, + 8302, + 8303, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333, + 8334, + 8335, + 8336, + 8337, + 8338, + 8339, + 8340, + 8341, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8360, + 8361, + 8362, + 8363, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8402, + 8403, + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8420, + 8421, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8438, + 8439, + 8440, + 8441, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8474, + 8475, + 8476, + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8503, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8530, + 8531, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8555, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8562, + 8563, + 8564, + 8565, + 8566, + 8567, + 8568, + 8569, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8587, + 8588, + 8589, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8652, + 8653, + 8654, + 8655, + 8656, + 8657, + 8658, + 8659, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8704, + 8705, + 8706, + 8707, + 8708, + 8709, + 8710, + 8711, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8724, + 8725, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8746, + 8747, + 8748, + 8749, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8756, + 8757, + 8758, + 8759, + 8760, + 8761, + 8762, + 8763, + 8764, + 8765, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8772, + 8773, + 8774, + 8775, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8822, + 8823, + 8824, + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8843, + 8844, + 8845, + 8846, + 8847, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8894, + 8895, + 8896, + 8897, + 8898, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8926, + 8927, + 8928, + 8929, + 8930, + 8931, + 8932, + 8933, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8944, + 8945, + 8946, + 8947, + 8948, + 8949, + 8950, + 8951, + 8952, + 8953, + 8954, + 8955, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8968, + 8969, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9012, + 9013, + 9014, + 9015, + 9016, + 9017, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9024, + 9025, + 9026, + 9027, + 9028, + 9029, + 9030, + 9031, + 9032, + 9033, + 9034, + 9035, + 9036, + 9037, + 9038, + 9039, + 9040, + 9041, + 9042, + 9043, + 9044, + 9045, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9083, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9106, + 9107, + 9108, + 9109, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9122, + 9123, + 9124, + 9125, + 9126, + 9127, + 9128, + 9129, + 9130, + 9131, + 9132, + 9133, + 9134, + 9135, + 9136, + 9137, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9146, + 9147, + 9148, + 9149, + 9150, + 9151, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9160, + 9161, + 9162, + 9163, + 9164, + 9165, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9174, + 9175, + 9176, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9194, + 9195, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9202, + 9203, + 9204, + 9205, + 9206, + 9207, + 9208, + 9209, + 9210, + 9211, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9226, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9234, + 9235, + 9236, + 9237, + 9238, + 9239, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9247, + 9248, + 9249, + 9250, + 9251, + 9252, + 9253, + 9254, + 9255, + 9256, + 9257, + 9258, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9291, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9312, + 9313, + 9314, + 9315, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9334, + 9335, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9344, + 9345, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9382, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9391, + 9392, + 9393, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9408, + 9409, + 9410, + 9411, + 9412, + 9413, + 9414, + 9415, + 9416, + 9417, + 9418, + 9419, + 9420, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9432, + 9433, + 9434, + 9435, + 9436, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9485, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9494, + 9495, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9518, + 9519, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9532, + 9533, + 9534, + 9535, + 9536, + 9537, + 9538, + 9539, + 9540, + 9541, + 9542, + 9543, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9566, + 9567, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9574, + 9575, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9582, + 9583, + 9584, + 9585, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9655, + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9684, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9732, + 9733, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9767, + 9768, + 9769, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9779, + 9780, + 9781, + 9782, + 9783, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884, + 9885, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914, + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9963, + 9964, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9989, + 9990, + 9991, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10098, + 10099, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132, + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10162, + 10163, + 10164, + 10165, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241, + 10242, + 10243, + 10244, + 10245, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10272, + 10273, + 10274, + 10275, + 10276, + 10277, + 10278, + 10279, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381, + 10382, + 10383, + 10384, + 10385, + 10386, + 10387, + 10388, + 10389, + 10390, + 10391, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10420, + 10421, + 10422, + 10423, + 10424, + 10425, + 10426, + 10427, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10469, + 10470, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10488, + 10489, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10530, + 10531, + 10532, + 10533, + 10534, + 10535, + 10536, + 10537, + 10538, + 10539, + 10540, + 10541, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10632, + 10633, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674, + 10675, + 10676, + 10677, + 10678, + 10679, + 10680, + 10681, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10712, + 10713, + 10714, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10761, + 10762, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10822, + 10823, + 10824, + 10825, + 10826, + 10827, + 10828, + 10829, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10863, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10907, + 10908, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10920, + 10921, + 10922, + 10923, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10976, + 10977, + 10978, + 10979, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11001, + 11002, + 11003, + 11004, + 11005, + 11006, + 11007, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11056, + 11057, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11074, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11108, + 11109, + 11110, + 11111 + ], + "owned_nodes": 11112, + "rank": 1 + }, + { + "family_counts": { + "HEX8": 1852, + "TET4": 1852, + "WEDGE6": 1852 + }, + "ghost_nodes": 5, + "global_model_retained": false, + "local_nodes": 11117, + "owned_elements": [ + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 11122, + 11123, + 11124, + 11125, + 11126, + 11127, + 11128, + 11129, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11214, + 11215, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 11225, + 11226, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11270, + 11271, + 11272, + 11273, + 11274, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11283, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11296, + 11297, + 11298, + 11299, + 11300, + 11301, + 11302, + 11303, + 11304, + 11305, + 11306, + 11307, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11314, + 11315, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11324, + 11325, + 11326, + 11327, + 11328, + 11329, + 11330, + 11331, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11348, + 11349, + 11350, + 11351, + 11352, + 11353, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11368, + 11369, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11400, + 11401, + 11402, + 11403, + 11404, + 11405, + 11406, + 11407, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11414, + 11415, + 11416, + 11417, + 11418, + 11419, + 11420, + 11421, + 11422, + 11423, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11436, + 11437, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11456, + 11457, + 11458, + 11459, + 11460, + 11461, + 11462, + 11463, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11482, + 11483, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11492, + 11493, + 11494, + 11495, + 11496, + 11497, + 11498, + 11499, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11512, + 11513, + 11514, + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11528, + 11529, + 11530, + 11531, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11560, + 11561, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11570, + 11571, + 11572, + 11573, + 11574, + 11575, + 11576, + 11577, + 11578, + 11579, + 11580, + 11581, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11588, + 11589, + 11590, + 11591, + 11592, + 11593, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11608, + 11609, + 11610, + 11611, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11618, + 11619, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11631, + 11632, + 11633, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11640, + 11641, + 11642, + 11643, + 11644, + 11645, + 11646, + 11647, + 11648, + 11649, + 11650, + 11651, + 11652, + 11653, + 11654, + 11655, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11717, + 11718, + 11719, + 11720, + 11721, + 11722, + 11723, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11828, + 11829, + 11830, + 11831, + 11832, + 11833, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11866, + 11867, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11997, + 11998, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12042, + 12043, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, + 12054, + 12055, + 12056, + 12057, + 12058, + 12059, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12066, + 12067, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12078, + 12079, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12086, + 12087, + 12088, + 12089, + 12090, + 12091, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12120, + 12121, + 12122, + 12123, + 12124, + 12125, + 12126, + 12127, + 12128, + 12129, + 12130, + 12131, + 12132, + 12133, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12140, + 12141, + 12142, + 12143, + 12144, + 12145, + 12146, + 12147, + 12148, + 12149, + 12150, + 12151, + 12152, + 12153, + 12154, + 12155, + 12156, + 12157, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12164, + 12165, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12172, + 12173, + 12174, + 12175, + 12176, + 12177, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12200, + 12201, + 12202, + 12203, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12216, + 12217, + 12218, + 12219, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12234, + 12235, + 12236, + 12237, + 12238, + 12239, + 12240, + 12241, + 12242, + 12243, + 12244, + 12245, + 12246, + 12247, + 12248, + 12249, + 12250, + 12251, + 12252, + 12253, + 12254, + 12255, + 12256, + 12257, + 12258, + 12259, + 12260, + 12261, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12268, + 12269, + 12270, + 12271, + 12272, + 12273, + 12274, + 12275, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12294, + 12295, + 12296, + 12297, + 12298, + 12299, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12320, + 12321, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12352, + 12353, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12360, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12392, + 12393, + 12394, + 12395, + 12396, + 12397, + 12398, + 12399, + 12400, + 12401, + 12402, + 12403, + 12404, + 12405, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12418, + 12419, + 12420, + 12421, + 12422, + 12423, + 12424, + 12425, + 12426, + 12427, + 12428, + 12429, + 12430, + 12431, + 12432, + 12433, + 12434, + 12435, + 12436, + 12437, + 12438, + 12439, + 12440, + 12441, + 12442, + 12443, + 12444, + 12445, + 12446, + 12447, + 12448, + 12449, + 12450, + 12451, + 12452, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12462, + 12463, + 12464, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12488, + 12489, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12496, + 12497, + 12498, + 12499, + 12500, + 12501, + 12502, + 12503, + 12504, + 12505, + 12506, + 12507, + 12508, + 12509, + 12510, + 12511, + 12512, + 12513, + 12514, + 12515, + 12516, + 12517, + 12518, + 12519, + 12520, + 12521, + 12522, + 12523, + 12524, + 12525, + 12526, + 12527, + 12528, + 12529, + 12530, + 12531, + 12532, + 12533, + 12534, + 12535, + 12536, + 12537, + 12538, + 12539, + 12540, + 12541, + 12542, + 12543, + 12544, + 12545, + 12546, + 12547, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12578, + 12579, + 12580, + 12581, + 12582, + 12583, + 12584, + 12585, + 12586, + 12587, + 12588, + 12589, + 12590, + 12591, + 12592, + 12593, + 12594, + 12595, + 12596, + 12597, + 12598, + 12599, + 12600, + 12601, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12612, + 12613, + 12614, + 12615, + 12616, + 12617, + 12618, + 12619, + 12620, + 12621, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, + 12634, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12642, + 12643, + 12644, + 12645, + 12646, + 12647, + 12648, + 12649, + 12650, + 12651, + 12652, + 12653, + 12654, + 12655, + 12656, + 12657, + 12658, + 12659, + 12660, + 12661, + 12662, + 12663, + 12664, + 12665, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12679, + 12680, + 12681, + 12682, + 12683, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12698, + 12699, + 12700, + 12701, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12726, + 12727, + 12728, + 12729, + 12730, + 12731, + 12732, + 12733, + 12734, + 12735, + 12736, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12744, + 12745, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12784, + 12785, + 12786, + 12787, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12798, + 12799, + 12800, + 12801, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12816, + 12817, + 12818, + 12819, + 12820, + 12821, + 12822, + 12823, + 12824, + 12825, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12846, + 12847, + 12848, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12868, + 12869, + 12870, + 12871, + 12872, + 12873, + 12874, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12883, + 12884, + 12885, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12898, + 12899, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12924, + 12925, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12932, + 12933, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12944, + 12945, + 12946, + 12947, + 12948, + 12949, + 12950, + 12951, + 12952, + 12953, + 12954, + 12955, + 12956, + 12957, + 12958, + 12959, + 12960, + 12961, + 12962, + 12963, + 12964, + 12965, + 12966, + 12967, + 12968, + 12969, + 12970, + 12971, + 12972, + 12973, + 12974, + 12975, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12984, + 12985, + 12986, + 12987, + 12988, + 12989, + 12990, + 12991, + 12992, + 12993, + 12994, + 12995, + 12996, + 12997, + 12998, + 12999, + 13000, + 13001, + 13002, + 13003, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13020, + 13021, + 13022, + 13023, + 13024, + 13025, + 13026, + 13027, + 13028, + 13029, + 13030, + 13031, + 13032, + 13033, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13062, + 13063, + 13064, + 13065, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13168, + 13169, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13191, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13198, + 13199, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13206, + 13207, + 13208, + 13209, + 13210, + 13211, + 13212, + 13213, + 13214, + 13215, + 13216, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13260, + 13261, + 13262, + 13263, + 13264, + 13265, + 13266, + 13267, + 13268, + 13269, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13282, + 13283, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13292, + 13293, + 13294, + 13295, + 13296, + 13297, + 13298, + 13299, + 13300, + 13301, + 13302, + 13303, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13332, + 13333, + 13334, + 13335, + 13336, + 13337, + 13338, + 13339, + 13340, + 13341, + 13342, + 13343, + 13344, + 13345, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13374, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13396, + 13397, + 13398, + 13399, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13422, + 13423, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13434, + 13435, + 13436, + 13437, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13454, + 13455, + 13456, + 13457, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13478, + 13479, + 13480, + 13481, + 13482, + 13483, + 13484, + 13485, + 13486, + 13487, + 13488, + 13489, + 13490, + 13491, + 13492, + 13493, + 13494, + 13495, + 13496, + 13497, + 13498, + 13499, + 13500, + 13501, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13508, + 13509, + 13510, + 13511, + 13512, + 13513, + 13514, + 13515, + 13516, + 13517, + 13518, + 13519, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, + 13528, + 13529, + 13530, + 13531, + 13532, + 13533, + 13534, + 13535, + 13536, + 13537, + 13538, + 13539, + 13540, + 13541, + 13542, + 13543, + 13544, + 13545, + 13546, + 13547, + 13548, + 13549, + 13550, + 13551, + 13552, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13570, + 13571, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13578, + 13579, + 13580, + 13581, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13588, + 13589, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13600, + 13601, + 13602, + 13603, + 13604, + 13605, + 13606, + 13607, + 13608, + 13609, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13616, + 13617, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13628, + 13629, + 13630, + 13631, + 13632, + 13633, + 13634, + 13635, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13642, + 13643, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13653, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13662, + 13663, + 13664, + 13665, + 13666, + 13667, + 13668, + 13669, + 13670, + 13671, + 13672, + 13673, + 13674, + 13675, + 13676, + 13677, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, + 13686, + 13687, + 13688, + 13689, + 13690, + 13691, + 13692, + 13693, + 13694, + 13695, + 13696, + 13697, + 13698, + 13699, + 13700, + 13701, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13710, + 13711, + 13712, + 13713, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13722, + 13723, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13732, + 13733, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13740, + 13741, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13757, + 13758, + 13759, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13778, + 13779, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13794, + 13795, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13814, + 13815, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13826, + 13827, + 13828, + 13829, + 13830, + 13831, + 13832, + 13833, + 13834, + 13835, + 13836, + 13837, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13858, + 13859, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13868, + 13869, + 13870, + 13871, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13878, + 13879, + 13880, + 13881, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13902, + 13903, + 13904, + 13905, + 13906, + 13907, + 13908, + 13909, + 13910, + 13911, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13918, + 13919, + 13920, + 13921, + 13922, + 13923, + 13924, + 13925, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13934, + 13935, + 13936, + 13937, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13948, + 13949, + 13950, + 13951, + 13952, + 13953, + 13954, + 13955, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13978, + 13979, + 13980, + 13981, + 13982, + 13983, + 13984, + 13985, + 13986, + 13987, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13994, + 13995, + 13996, + 13997, + 13998, + 13999, + 14000, + 14001, + 14002, + 14003, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14026, + 14027, + 14028, + 14029, + 14030, + 14031, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14046, + 14047, + 14048, + 14049, + 14050, + 14051, + 14052, + 14053, + 14054, + 14055, + 14056, + 14057, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14064, + 14065, + 14066, + 14067, + 14068, + 14069, + 14070, + 14071, + 14072, + 14073, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14092, + 14093, + 14094, + 14095, + 14096, + 14097, + 14098, + 14099, + 14100, + 14101, + 14102, + 14103, + 14104, + 14105, + 14106, + 14107, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14116, + 14117, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14126, + 14127, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14144, + 14145, + 14146, + 14147, + 14148, + 14149, + 14150, + 14151, + 14152, + 14153, + 14154, + 14155, + 14156, + 14157, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14164, + 14165, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14172, + 14173, + 14174, + 14175, + 14176, + 14177, + 14178, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14187, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14214, + 14215, + 14216, + 14217, + 14218, + 14219, + 14220, + 14221, + 14222, + 14223, + 14224, + 14225, + 14226, + 14227, + 14228, + 14229, + 14230, + 14231, + 14232, + 14233, + 14234, + 14235, + 14236, + 14237, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14284, + 14285, + 14286, + 14287, + 14288, + 14289, + 14290, + 14291, + 14292, + 14293, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14300, + 14301, + 14302, + 14303, + 14304, + 14305, + 14306, + 14307, + 14308, + 14309, + 14310, + 14311, + 14312, + 14313, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14328, + 14329, + 14330, + 14331, + 14332, + 14333, + 14334, + 14335, + 14336, + 14337, + 14338, + 14339, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14346, + 14347, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14370, + 14371, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14394, + 14395, + 14396, + 14397, + 14398, + 14399, + 14400, + 14401, + 14402, + 14403, + 14404, + 14405, + 14406, + 14407, + 14408, + 14409, + 14410, + 14411, + 14412, + 14413, + 14414, + 14415, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, + 14431, + 14432, + 14433, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14440, + 14441, + 14442, + 14443, + 14444, + 14445, + 14446, + 14447, + 14448, + 14449, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14456, + 14457, + 14458, + 14459, + 14460, + 14461, + 14462, + 14463, + 14464, + 14465, + 14466, + 14467, + 14468, + 14469, + 14470, + 14471, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, + 14480, + 14481, + 14482, + 14483, + 14484, + 14485, + 14486, + 14487, + 14488, + 14489, + 14490, + 14491, + 14492, + 14493, + 14494, + 14495, + 14496, + 14497, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14512, + 14513, + 14514, + 14515, + 14516, + 14517, + 14518, + 14519, + 14520, + 14521, + 14522, + 14523, + 14524, + 14525, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14534, + 14535, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14544, + 14545, + 14546, + 14547, + 14548, + 14549, + 14550, + 14551, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14562, + 14563, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617, + 14618, + 14619, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14630, + 14631, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14638, + 14639, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14664, + 14665, + 14666, + 14667, + 14668, + 14669, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14684, + 14685, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14692, + 14693, + 14694, + 14695, + 14696, + 14697, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, + 14717, + 14718, + 14719, + 14720, + 14721, + 14722, + 14723, + 14724, + 14725, + 14726, + 14727, + 14728, + 14729, + 14730, + 14731, + 14732, + 14733, + 14734, + 14735, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14742, + 14743, + 14744, + 14745, + 14746, + 14747, + 14748, + 14749, + 14750, + 14751, + 14752, + 14753, + 14754, + 14755, + 14756, + 14757, + 14758, + 14759, + 14760, + 14761, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14776, + 14777, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14792, + 14793, + 14794, + 14795, + 14796, + 14797, + 14798, + 14799, + 14800, + 14801, + 14802, + 14803, + 14804, + 14805, + 14806, + 14807, + 14808, + 14809, + 14810, + 14811, + 14812, + 14813, + 14814, + 14815, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14828, + 14829, + 14830, + 14831, + 14832, + 14833, + 14834, + 14835, + 14836, + 14837, + 14838, + 14839, + 14840, + 14841, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14850, + 14851, + 14852, + 14853, + 14854, + 14855, + 14856, + 14857, + 14858, + 14859, + 14860, + 14861, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14868, + 14869, + 14870, + 14871, + 14872, + 14873, + 14874, + 14875, + 14876, + 14877, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14886, + 14887, + 14888, + 14889, + 14890, + 14891, + 14892, + 14893, + 14894, + 14895, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14908, + 14909, + 14910, + 14911, + 14912, + 14913, + 14914, + 14915, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14928, + 14929, + 14930, + 14931, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14942, + 14943, + 14944, + 14945, + 14946, + 14947, + 14948, + 14949, + 14950, + 14951, + 14952, + 14953, + 14954, + 14955, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14968, + 14969, + 14970, + 14971, + 14972, + 14973, + 14974, + 14975, + 14976, + 14977, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14984, + 14985, + 14986, + 14987, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 14996, + 14997, + 14998, + 14999, + 15000, + 15001, + 15002, + 15003, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15014, + 15015, + 15016, + 15017, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15028, + 15029, + 15030, + 15031, + 15032, + 15033, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15042, + 15043, + 15044, + 15045, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15058, + 15059, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15066, + 15067, + 15068, + 15069, + 15070, + 15071, + 15072, + 15073, + 15074, + 15075, + 15076, + 15077, + 15078, + 15079, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15094, + 15095, + 15096, + 15097, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15114, + 15115, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15146, + 15147, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15156, + 15157, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15170, + 15171, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15180, + 15181, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15198, + 15199, + 15200, + 15201, + 15202, + 15203, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15212, + 15213, + 15214, + 15215, + 15216, + 15217, + 15218, + 15219, + 15220, + 15221, + 15222, + 15223, + 15224, + 15225, + 15226, + 15227, + 15228, + 15229, + 15230, + 15231, + 15232, + 15233, + 15234, + 15235, + 15236, + 15237, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15244, + 15245, + 15246, + 15247, + 15248, + 15249, + 15250, + 15251, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15262, + 15263, + 15264, + 15265, + 15266, + 15267, + 15268, + 15269, + 15270, + 15271, + 15272, + 15273, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15280, + 15281, + 15282, + 15283, + 15284, + 15285, + 15286, + 15287, + 15288, + 15289, + 15290, + 15291, + 15292, + 15293, + 15294, + 15295, + 15296, + 15297, + 15298, + 15299, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15306, + 15307, + 15308, + 15309, + 15310, + 15311, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15340, + 15341, + 15342, + 15343, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15360, + 15361, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15368, + 15369, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15376, + 15377, + 15378, + 15379, + 15380, + 15381, + 15382, + 15383, + 15384, + 15385, + 15386, + 15387, + 15388, + 15389, + 15390, + 15391, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15398, + 15399, + 15400, + 15401, + 15402, + 15403, + 15404, + 15405, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15416, + 15417, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15426, + 15427, + 15428, + 15429, + 15430, + 15431, + 15432, + 15433, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15444, + 15445, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15454, + 15455, + 15456, + 15457, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15470, + 15471, + 15472, + 15473, + 15474, + 15475, + 15476, + 15477, + 15478, + 15479, + 15480, + 15481, + 15482, + 15483, + 15484, + 15485, + 15486, + 15487, + 15488, + 15489, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15498, + 15499, + 15500, + 15501, + 15502, + 15503, + 15504, + 15505, + 15506, + 15507, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15518, + 15519, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15526, + 15527, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15540, + 15541, + 15542, + 15543, + 15544, + 15545, + 15546, + 15547, + 15548, + 15549, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15582, + 15583, + 15584, + 15585, + 15586, + 15587, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15602, + 15603, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15614, + 15615, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15622, + 15623, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15632, + 15633, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15642, + 15643, + 15644, + 15645, + 15646, + 15647, + 15648, + 15649, + 15650, + 15651, + 15652, + 15653, + 15654, + 15655, + 15656, + 15657, + 15658, + 15659, + 15660, + 15661, + 15662, + 15663, + 15664, + 15665, + 15666, + 15667, + 15668, + 15669, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15682, + 15683, + 15684, + 15685, + 15686, + 15687, + 15688, + 15689, + 15690, + 15691, + 15692, + 15693, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15700, + 15701, + 15702, + 15703, + 15704, + 15705, + 15706, + 15707, + 15708, + 15709, + 15710, + 15711, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15744, + 15745, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15752, + 15753, + 15754, + 15755, + 15756, + 15757, + 15758, + 15759, + 15760, + 15761, + 15762, + 15763, + 15764, + 15765, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15778, + 15779, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15788, + 15789, + 15790, + 15791, + 15792, + 15793, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15814, + 15815, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15822, + 15823, + 15824, + 15825, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15834, + 15835, + 15836, + 15837, + 15838, + 15839, + 15840, + 15841, + 15842, + 15843, + 15844, + 15845, + 15846, + 15847, + 15848, + 15849, + 15850, + 15851, + 15852, + 15853, + 15854, + 15855, + 15856, + 15857, + 15858, + 15859, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15866, + 15867, + 15868, + 15869, + 15870, + 15871, + 15872, + 15873, + 15874, + 15875, + 15876, + 15877, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15884, + 15885, + 15886, + 15887, + 15888, + 15889, + 15890, + 15891, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15898, + 15899, + 15900, + 15901, + 15902, + 15903, + 15904, + 15905, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15916, + 15917, + 15918, + 15919, + 15920, + 15921, + 15922, + 15923, + 15924, + 15925, + 15926, + 15927, + 15928, + 15929, + 15930, + 15931, + 15932, + 15933, + 15934, + 15935, + 15936, + 15937, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, + 15950, + 15951, + 15952, + 15953, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15966, + 15967, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15982, + 15983, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 15998, + 15999, + 16000, + 16001, + 16002, + 16003, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16018, + 16019, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16026, + 16027, + 16028, + 16029, + 16030, + 16031, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16038, + 16039, + 16040, + 16041, + 16042, + 16043, + 16044, + 16045, + 16046, + 16047, + 16048, + 16049, + 16050, + 16051, + 16052, + 16053, + 16054, + 16055, + 16056, + 16057, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16072, + 16073, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16086, + 16087, + 16088, + 16089, + 16090, + 16091, + 16092, + 16093, + 16094, + 16095, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16120, + 16121, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16128, + 16129, + 16130, + 16131, + 16132, + 16133, + 16134, + 16135, + 16136, + 16137, + 16138, + 16139, + 16140, + 16141, + 16142, + 16143, + 16144, + 16145, + 16146, + 16147, + 16148, + 16149, + 16150, + 16151, + 16152, + 16153, + 16154, + 16155, + 16156, + 16157, + 16158, + 16159, + 16160, + 16161, + 16162, + 16163, + 16164, + 16165, + 16166, + 16167, + 16168, + 16169, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16176, + 16177, + 16178, + 16179, + 16180, + 16181, + 16182, + 16183, + 16184, + 16185, + 16186, + 16187, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16206, + 16207, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16214, + 16215, + 16216, + 16217, + 16218, + 16219, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16226, + 16227, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16238, + 16239, + 16240, + 16241, + 16242, + 16243, + 16244, + 16245, + 16246, + 16247, + 16248, + 16249, + 16250, + 16251, + 16252, + 16253, + 16254, + 16255, + 16256, + 16257, + 16258, + 16259, + 16260, + 16261, + 16262, + 16263, + 16264, + 16265, + 16266, + 16267, + 16268, + 16269, + 16270, + 16271, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16284, + 16285, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16292, + 16293, + 16294, + 16295, + 16296, + 16297, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16316, + 16317, + 16318, + 16319, + 16320, + 16321, + 16322, + 16323, + 16324, + 16325, + 16326, + 16327, + 16328, + 16329, + 16330, + 16331, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16342, + 16343, + 16344, + 16345, + 16346, + 16347, + 16348, + 16349, + 16350, + 16351, + 16352, + 16353, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16360, + 16361, + 16362, + 16363, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16374, + 16375, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16382, + 16383, + 16384, + 16385, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16398, + 16399, + 16400, + 16401, + 16402, + 16403, + 16404, + 16405, + 16406, + 16407, + 16408, + 16409, + 16410, + 16411, + 16412, + 16413, + 16414, + 16415, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16428, + 16429, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16436, + 16437, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16470, + 16471, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16478, + 16479, + 16480, + 16481, + 16482, + 16483, + 16484, + 16485, + 16486, + 16487, + 16488, + 16489, + 16490, + 16491, + 16492, + 16493, + 16494, + 16495, + 16496, + 16497, + 16498, + 16499, + 16500, + 16501, + 16502, + 16503, + 16504, + 16505, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16520, + 16521, + 16522, + 16523, + 16524, + 16525, + 16526, + 16527, + 16528, + 16529, + 16530, + 16531, + 16532, + 16533, + 16534, + 16535, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16542, + 16543, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16552, + 16553, + 16554, + 16555, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16564, + 16565, + 16566, + 16567, + 16568, + 16569, + 16570, + 16571, + 16572, + 16573, + 16574, + 16575, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16588, + 16589, + 16590, + 16591, + 16592, + 16593, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16602, + 16603, + 16604, + 16605, + 16606, + 16607, + 16608, + 16609, + 16610, + 16611, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16620, + 16621, + 16622, + 16623, + 16624, + 16625, + 16626, + 16627, + 16628, + 16629, + 16630, + 16631, + 16632, + 16633, + 16634, + 16635, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16648, + 16649, + 16650, + 16651, + 16652, + 16653, + 16654, + 16655, + 16656, + 16657, + 16658, + 16659, + 16660, + 16661, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667 + ], + "owned_nodes": 11112, + "rank": 2 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": false, + "callback_count": 202, + "callback_error": null, + "final_force_balance_relative": 0.0769946696259652, + "final_physical_relative_residual": 0.005719129437460587, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 1.9369785346550823e-08, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 1.0643950290409876e-08, + "physical_gate": false, + "physical_relative_residual": 0.8566128914911978, + "physical_residual_inf": 30436.365727347467, + "physical_residual_l2": 60571.67844252422 + }, + { + "iteration": 2, + "petsc_scaled_norm": 5.410819734391105e-09, + "physical_gate": false, + "physical_relative_residual": 0.4799516744700369, + "physical_residual_inf": 20991.335827855954, + "physical_residual_l2": 33937.70836596015 + }, + { + "iteration": 3, + "petsc_scaled_norm": 5.410789269806079e-09, + "physical_gate": false, + "physical_relative_residual": 0.4803348850910145, + "physical_residual_inf": 20988.25115212508, + "physical_residual_l2": 33964.80544883175 + }, + { + "iteration": 4, + "petsc_scaled_norm": 5.410641540485166e-09, + "physical_gate": false, + "physical_relative_residual": 0.48180594863038934, + "physical_residual_inf": 20976.036520457757, + "physical_residual_l2": 34068.82534925657 + }, + { + "iteration": 5, + "petsc_scaled_norm": 5.3033083460018004e-09, + "physical_gate": false, + "physical_relative_residual": 0.46609224681377537, + "physical_residual_inf": 20429.360189130868, + "physical_residual_l2": 32957.69883804946 + }, + { + "iteration": 6, + "petsc_scaled_norm": 4.73425870743952e-09, + "physical_gate": false, + "physical_relative_residual": 0.45556408591786557, + "physical_residual_inf": 17107.94152423204, + "physical_residual_l2": 32213.245441757375 + }, + { + "iteration": 7, + "petsc_scaled_norm": 1.90808749015045e-09, + "physical_gate": false, + "physical_relative_residual": 0.15562381287928048, + "physical_residual_inf": 4985.788852485828, + "physical_residual_l2": 11004.26534010456 + }, + { + "iteration": 8, + "petsc_scaled_norm": 1.8883494031752596e-09, + "physical_gate": false, + "physical_relative_residual": 0.1570461608280932, + "physical_residual_inf": 5054.03855574131, + "physical_residual_l2": 11104.840528085786 + }, + { + "iteration": 9, + "petsc_scaled_norm": 1.7751726724020503e-09, + "physical_gate": false, + "physical_relative_residual": 0.12952506245376444, + "physical_residual_inf": 4513.414112124592, + "physical_residual_l2": 9158.804999466793 + }, + { + "iteration": 10, + "petsc_scaled_norm": 1.757178624013319e-09, + "physical_gate": false, + "physical_relative_residual": 0.12896305118033108, + "physical_residual_inf": 4435.748594287783, + "physical_residual_l2": 9119.064801211991 + }, + { + "iteration": 11, + "petsc_scaled_norm": 1.6832832024771842e-09, + "physical_gate": false, + "physical_relative_residual": 0.12049098612847368, + "physical_residual_inf": 4253.803913034499, + "physical_residual_l2": 8519.999336329798 + }, + { + "iteration": 12, + "petsc_scaled_norm": 1.2730990075747015e-09, + "physical_gate": false, + "physical_relative_residual": 0.11384720565735278, + "physical_residual_inf": 3924.2510074033053, + "physical_residual_l2": 8050.213113945363 + }, + { + "iteration": 13, + "petsc_scaled_norm": 1.1517443132387353e-09, + "physical_gate": false, + "physical_relative_residual": 0.09934958208626048, + "physical_residual_inf": 2576.305123580154, + "physical_residual_l2": 7025.076320124434 + }, + { + "iteration": 14, + "petsc_scaled_norm": 8.907943110033985e-10, + "physical_gate": false, + "physical_relative_residual": 0.07790452880102701, + "physical_residual_inf": 3512.133390361443, + "physical_residual_l2": 5508.68206003489 + }, + { + "iteration": 15, + "petsc_scaled_norm": 7.552042253872953e-10, + "physical_gate": false, + "physical_relative_residual": 0.07628926365332217, + "physical_residual_inf": 2367.955107253045, + "physical_residual_l2": 5394.465566099252 + }, + { + "iteration": 16, + "petsc_scaled_norm": 7.417410962485488e-10, + "physical_gate": false, + "physical_relative_residual": 0.07767732579543639, + "physical_residual_inf": 2303.1637657480314, + "physical_residual_l2": 5492.616381438981 + }, + { + "iteration": 17, + "petsc_scaled_norm": 7.417316731112667e-10, + "physical_gate": false, + "physical_relative_residual": 0.0777370276144006, + "physical_residual_inf": 2300.8912447234616, + "physical_residual_l2": 5496.837937542858 + }, + { + "iteration": 18, + "petsc_scaled_norm": 5.569029070560962e-10, + "physical_gate": false, + "physical_relative_residual": 0.051112776883687414, + "physical_residual_inf": 1836.4660669611767, + "physical_residual_l2": 3614.2191139730385 + }, + { + "iteration": 19, + "petsc_scaled_norm": 3.400957360382043e-10, + "physical_gate": false, + "physical_relative_residual": 0.03719774886024646, + "physical_residual_inf": 2031.779593758285, + "physical_residual_l2": 2630.2780463954446 + }, + { + "iteration": 20, + "petsc_scaled_norm": 3.2279800564772876e-10, + "physical_gate": false, + "physical_relative_residual": 0.034138013375893034, + "physical_residual_inf": 1841.1364015862346, + "physical_residual_l2": 2413.922075433103 + }, + { + "iteration": 21, + "petsc_scaled_norm": 3.2236318308927734e-10, + "physical_gate": false, + "physical_relative_residual": 0.03365239360574119, + "physical_residual_inf": 1774.5800053589046, + "physical_residual_l2": 2379.583572177841 + }, + { + "iteration": 22, + "petsc_scaled_norm": 3.1419036698044875e-10, + "physical_gate": false, + "physical_relative_residual": 0.03196566875189293, + "physical_residual_inf": 1606.1381365992129, + "physical_residual_l2": 2260.314113962642 + }, + { + "iteration": 23, + "petsc_scaled_norm": 8.819651332360085e-11, + "physical_gate": false, + "physical_relative_residual": 0.007019959415470598, + "physical_residual_inf": 96.76385566592216, + "physical_residual_l2": 496.3860906333613 + }, + { + "iteration": 24, + "petsc_scaled_norm": 8.770754052531412e-11, + "physical_gate": false, + "physical_relative_residual": 0.006932298511540991, + "physical_residual_inf": 91.25286561995745, + "physical_residual_l2": 490.18752867200453 + }, + { + "iteration": 25, + "petsc_scaled_norm": 8.719986708347555e-11, + "physical_gate": false, + "physical_relative_residual": 0.006858187223956023, + "physical_residual_inf": 93.15755325555801, + "physical_residual_l2": 484.9470692706248 + }, + { + "iteration": 26, + "petsc_scaled_norm": 6.842685373004291e-11, + "physical_gate": false, + "physical_relative_residual": 0.005191971702540287, + "physical_residual_inf": 65.82490429282188, + "physical_residual_l2": 367.12783985949017 + }, + { + "iteration": 27, + "petsc_scaled_norm": 6.083943980884026e-11, + "physical_gate": false, + "physical_relative_residual": 0.004637860310776474, + "physical_residual_inf": 108.29766435921192, + "physical_residual_l2": 327.94624759459936 + }, + { + "iteration": 28, + "petsc_scaled_norm": 4.537814832245259e-11, + "physical_gate": false, + "physical_relative_residual": 0.003962891933296962, + "physical_residual_inf": 129.42311827093363, + "physical_residual_l2": 280.21877591437493 + }, + { + "iteration": 29, + "petsc_scaled_norm": 3.761637349833875e-11, + "physical_gate": false, + "physical_relative_residual": 0.004296489203958415, + "physical_residual_inf": 141.6506860330701, + "physical_residual_l2": 303.8076651413787 + }, + { + "iteration": 30, + "petsc_scaled_norm": 3.301122892953307e-11, + "physical_gate": false, + "physical_relative_residual": 0.004562047329876145, + "physical_residual_inf": 147.24247370660305, + "physical_residual_l2": 322.5854603049405 + }, + { + "iteration": 31, + "petsc_scaled_norm": 2.968290857490648e-11, + "physical_gate": false, + "physical_relative_residual": 0.004758447784096572, + "physical_residual_inf": 150.97541831433773, + "physical_residual_l2": 336.4730696056787 + }, + { + "iteration": 32, + "petsc_scaled_norm": 2.7207795761609588e-11, + "physical_gate": false, + "physical_relative_residual": 0.004900090136483313, + "physical_residual_inf": 153.39259878546, + "physical_residual_l2": 346.4886963932666 + }, + { + "iteration": 33, + "petsc_scaled_norm": 2.526388944538304e-11, + "physical_gate": false, + "physical_relative_residual": 0.005009139694281949, + "physical_residual_inf": 155.2085509300232, + "physical_residual_l2": 354.1996645737476 + }, + { + "iteration": 34, + "petsc_scaled_norm": 2.3682846074177228e-11, + "physical_gate": false, + "physical_relative_residual": 0.005093479204352458, + "physical_residual_inf": 156.55297917872667, + "physical_residual_l2": 360.1633685230284 + }, + { + "iteration": 35, + "petsc_scaled_norm": 2.2366796014926553e-11, + "physical_gate": false, + "physical_relative_residual": 0.005161377537955766, + "physical_residual_inf": 157.61986181139946, + "physical_residual_l2": 364.9645057352449 + }, + { + "iteration": 36, + "petsc_scaled_norm": 2.1247867231028967e-11, + "physical_gate": false, + "physical_relative_residual": 0.005216789631362196, + "physical_residual_inf": 158.47384222596884, + "physical_residual_l2": 368.88273243598786 + }, + { + "iteration": 37, + "petsc_scaled_norm": 2.028177995831646e-11, + "physical_gate": false, + "physical_relative_residual": 0.005262967456522733, + "physical_residual_inf": 159.17757906764746, + "physical_residual_l2": 372.14799776713414 + }, + { + "iteration": 38, + "petsc_scaled_norm": 1.943648117636064e-11, + "physical_gate": false, + "physical_relative_residual": 0.005301982068527611, + "physical_residual_inf": 159.76599956303835, + "physical_residual_l2": 374.9067474385352 + }, + { + "iteration": 39, + "petsc_scaled_norm": 1.8688774946412e-11, + "physical_gate": false, + "physical_relative_residual": 0.005335382560615014, + "physical_residual_inf": 160.2657302170992, + "physical_residual_l2": 377.2685188835323 + }, + { + "iteration": 40, + "petsc_scaled_norm": 1.8021209539330667e-11, + "physical_gate": false, + "physical_relative_residual": 0.005364290072914726, + "physical_residual_inf": 160.6953073963523, + "physical_residual_l2": 379.3125886809683 + }, + { + "iteration": 41, + "petsc_scaled_norm": 1.7420423754637472e-11, + "physical_gate": false, + "physical_relative_residual": 0.005389551098313214, + "physical_residual_inf": 161.0685585141182, + "physical_residual_l2": 381.09881291686787 + }, + { + "iteration": 42, + "petsc_scaled_norm": 1.6875977612135704e-11, + "physical_gate": false, + "physical_relative_residual": 0.005411812066983233, + "physical_residual_inf": 161.39588172733784, + "physical_residual_l2": 382.6729011071031 + }, + { + "iteration": 43, + "petsc_scaled_norm": 1.6379582587280974e-11, + "physical_gate": false, + "physical_relative_residual": 0.005431575800203386, + "physical_residual_inf": 161.68525175005198, + "physical_residual_l2": 384.0704080852563 + }, + { + "iteration": 44, + "petsc_scaled_norm": 1.5924562491125892e-11, + "physical_gate": false, + "physical_relative_residual": 0.005449239071749221, + "physical_residual_inf": 161.94291293621063, + "physical_residual_l2": 385.3193899940562 + }, + { + "iteration": 45, + "petsc_scaled_norm": 1.550547154905794e-11, + "physical_gate": false, + "physical_relative_residual": 0.005465119171874582, + "physical_residual_inf": 162.1738197952509, + "physical_residual_l2": 386.4422826425126 + }, + { + "iteration": 46, + "petsc_scaled_norm": 1.5117817374973068e-11, + "physical_gate": false, + "physical_relative_residual": 0.0054794724993000084, + "physical_residual_inf": 162.38191994279623, + "physical_residual_l2": 387.4572161580236 + }, + { + "iteration": 47, + "petsc_scaled_norm": 1.4757856582372154e-11, + "physical_gate": false, + "physical_relative_residual": 0.005492508713918053, + "physical_residual_inf": 162.57043527066708, + "physical_residual_l2": 388.37901573376587 + }, + { + "iteration": 48, + "petsc_scaled_norm": 1.442244151341595e-11, + "physical_gate": false, + "physical_relative_residual": 0.005504400878306031, + "physical_residual_inf": 162.7420057952404, + "physical_residual_l2": 389.2199187419383 + }, + { + "iteration": 49, + "petsc_scaled_norm": 1.4108903638753173e-11, + "physical_gate": false, + "physical_relative_residual": 0.005515293012073931, + "physical_residual_inf": 162.89881447702646, + "physical_residual_l2": 389.99010890682564 + }, + { + "iteration": 50, + "petsc_scaled_norm": 1.3814963689787111e-11, + "physical_gate": false, + "physical_relative_residual": 0.005525305981961737, + "physical_residual_inf": 163.04268672317266, + "physical_residual_l2": 390.69813279757403 + }, + { + "iteration": 51, + "petsc_scaled_norm": 1.3538661569757667e-11, + "physical_gate": false, + "physical_relative_residual": 0.005534542114300169, + "physical_residual_inf": 163.17518050968647, + "physical_residual_l2": 391.3512259784182 + }, + { + "iteration": 52, + "petsc_scaled_norm": 1.3278301096707227e-11, + "physical_gate": false, + "physical_relative_residual": 0.005543088145749719, + "physical_residual_inf": 163.2975664064288, + "physical_residual_l2": 391.95552165743925 + }, + { + "iteration": 53, + "petsc_scaled_norm": 1.3032406006242143e-11, + "physical_gate": false, + "physical_relative_residual": 0.005551018631895228, + "physical_residual_inf": 163.4109748750925, + "physical_residual_l2": 392.5162917105988 + }, + { + "iteration": 54, + "petsc_scaled_norm": 1.2799684599233334e-11, + "physical_gate": false, + "physical_relative_residual": 0.005558397725696337, + "physical_residual_inf": 163.5163565352559, + "physical_residual_l2": 393.03807243717637 + }, + { + "iteration": 55, + "petsc_scaled_norm": 1.2579001096134852e-11, + "physical_gate": false, + "physical_relative_residual": 0.0055652809533713625, + "physical_residual_inf": 163.61453865468502, + "physical_residual_l2": 393.5247901337225 + }, + { + "iteration": 56, + "petsc_scaled_norm": 1.2369352244359998e-11, + "physical_gate": false, + "physical_relative_residual": 0.005571716544292229, + "physical_residual_inf": 163.7062197625637, + "physical_residual_l2": 393.97985513183124 + }, + { + "iteration": 57, + "petsc_scaled_norm": 1.2169848076945759e-11, + "physical_gate": false, + "physical_relative_residual": 0.005577746852715008, + "physical_residual_inf": 163.79203715920448, + "physical_residual_l2": 394.40626232967054 + }, + { + "iteration": 58, + "petsc_scaled_norm": 1.1979695979047635e-11, + "physical_gate": false, + "physical_relative_residual": 0.005583408948172608, + "physical_residual_inf": 163.87254124879837, + "physical_residual_l2": 394.80663293905 + }, + { + "iteration": 59, + "petsc_scaled_norm": 1.1798187410559031e-11, + "physical_gate": false, + "physical_relative_residual": 0.00558873548700578, + "physical_residual_inf": 163.94819431006908, + "physical_residual_l2": 395.183276111969 + }, + { + "iteration": 60, + "petsc_scaled_norm": 1.1624686776947726e-11, + "physical_gate": false, + "physical_relative_residual": 0.00559375544483029, + "physical_residual_inf": 164.01943085342646, + "physical_residual_l2": 395.53824073386716 + }, + { + "iteration": 61, + "petsc_scaled_norm": 1.1458622049268445e-11, + "physical_gate": false, + "physical_relative_residual": 0.005598494544768313, + "physical_residual_inf": 164.08662885427475, + "physical_residual_l2": 395.87334570415675 + }, + { + "iteration": 62, + "petsc_scaled_norm": 1.1299476817463608e-11, + "physical_gate": false, + "physical_relative_residual": 0.005602975731621417, + "physical_residual_inf": 164.15011973679066, + "physical_residual_l2": 396.19021346531616 + }, + { + "iteration": 63, + "petsc_scaled_norm": 1.1146783525111418e-11, + "physical_gate": false, + "physical_relative_residual": 0.0056072193808511545, + "physical_residual_inf": 164.21019369363785, + "physical_residual_l2": 396.4902847800486 + }, + { + "iteration": 64, + "petsc_scaled_norm": 1.1000117683494452e-11, + "physical_gate": false, + "physical_relative_residual": 0.0056112440222276265, + "physical_residual_inf": 164.26713471859694, + "physical_residual_l2": 396.7748699009633 + }, + { + "iteration": 65, + "petsc_scaled_norm": 1.0859092901742456e-11, + "physical_gate": false, + "physical_relative_residual": 0.005615066060972458, + "physical_residual_inf": 164.32117062807083, + "physical_residual_l2": 397.04512885240615 + }, + { + "iteration": 66, + "petsc_scaled_norm": 1.0723356600416384e-11, + "physical_gate": false, + "physical_relative_residual": 0.005618700511973477, + "physical_residual_inf": 164.37252628803253, + "physical_residual_l2": 397.30212334727725 + }, + { + "iteration": 67, + "petsc_scaled_norm": 1.0592586300166696e-11, + "physical_gate": false, + "physical_relative_residual": 0.00562216077075274, + "physical_residual_inf": 164.42138930410147, + "physical_residual_l2": 397.5468005920249 + }, + { + "iteration": 68, + "petsc_scaled_norm": 1.046648639645491e-11, + "physical_gate": false, + "physical_relative_residual": 0.005625459106940688, + "physical_residual_inf": 164.46793965250254, + "physical_residual_l2": 397.78002818053807 + }, + { + "iteration": 69, + "petsc_scaled_norm": 1.034478534685327e-11, + "physical_gate": false, + "physical_relative_residual": 0.00562860663292867, + "physical_residual_inf": 164.5123439207673, + "physical_residual_l2": 398.0025918775443 + }, + { + "iteration": 70, + "petsc_scaled_norm": 1.0227233209966693e-11, + "physical_gate": false, + "physical_relative_residual": 0.005631613314242821, + "physical_residual_inf": 164.55472441017628, + "physical_residual_l2": 398.21519635215463 + }, + { + "iteration": 71, + "petsc_scaled_norm": 1.0113599485180666e-11, + "physical_gate": false, + "physical_relative_residual": 0.005634488622337847, + "physical_residual_inf": 164.5952448770404, + "physical_residual_l2": 398.418511337354 + }, + { + "iteration": 72, + "petsc_scaled_norm": 1.0003671210722824e-11, + "physical_gate": false, + "physical_relative_residual": 0.005637240856328176, + "physical_residual_inf": 164.63401192426682, + "physical_residual_l2": 398.6131236691514 + }, + { + "iteration": 73, + "petsc_scaled_norm": 9.897251284309973e-12, + "physical_gate": false, + "physical_relative_residual": 0.005639877768486924, + "physical_residual_inf": 164.67114252597094, + "physical_residual_l2": 398.79958151603574 + }, + { + "iteration": 74, + "petsc_scaled_norm": 9.79415697623588e-12, + "physical_gate": false, + "physical_relative_residual": 0.005642406433444117, + "physical_residual_inf": 164.70672634243965, + "physical_residual_l2": 398.9783851298938 + }, + { + "iteration": 75, + "petsc_scaled_norm": 9.694218609369764e-12, + "physical_gate": false, + "physical_relative_residual": 0.005644833356800561, + "physical_residual_inf": 164.7408608570695, + "physical_residual_l2": 399.1499945261699 + }, + { + "iteration": 76, + "petsc_scaled_norm": 9.597278384364805e-12, + "physical_gate": false, + "physical_relative_residual": 0.005647164628563543, + "physical_residual_inf": 164.77364520728588, + "physical_residual_l2": 399.3148403334092 + }, + { + "iteration": 77, + "petsc_scaled_norm": 9.503189331568424e-12, + "physical_gate": false, + "physical_relative_residual": 0.005649405766100023, + "physical_residual_inf": 164.8051499724388, + "physical_residual_l2": 399.4733126883709 + }, + { + "iteration": 78, + "petsc_scaled_norm": 9.41181437379491e-12, + "physical_gate": false, + "physical_relative_residual": 0.00565156192018897, + "physical_residual_inf": 164.8354506343603, + "physical_residual_l2": 399.62577580612873 + }, + { + "iteration": 79, + "petsc_scaled_norm": 9.32302548636335e-12, + "physical_gate": false, + "physical_relative_residual": 0.005653637725932632, + "physical_residual_inf": 164.86460179835558, + "physical_residual_l2": 399.7725574379056 + }, + { + "iteration": 80, + "petsc_scaled_norm": 9.236702942692079e-12, + "physical_gate": false, + "physical_relative_residual": 0.005655637705122068, + "physical_residual_inf": 164.89268638193607, + "physical_residual_l2": 399.91397732261385 + }, + { + "iteration": 81, + "petsc_scaled_norm": 9.152734635337446e-12, + "physical_gate": false, + "physical_relative_residual": 0.005657565945456034, + "physical_residual_inf": 164.9197591021657, + "physical_residual_l2": 400.0503245042043 + }, + { + "iteration": 82, + "petsc_scaled_norm": 9.071015463719925e-12, + "physical_gate": false, + "physical_relative_residual": 0.00565942614244383, + "physical_residual_inf": 164.9458603784442, + "physical_residual_l2": 400.1818602946456 + }, + { + "iteration": 83, + "petsc_scaled_norm": 8.991446780931982e-12, + "physical_gate": false, + "physical_relative_residual": 0.005661221943864162, + "physical_residual_inf": 164.97106020897627, + "physical_residual_l2": 400.3088426308438 + }, + { + "iteration": 84, + "petsc_scaled_norm": 8.913935893006191e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056629564897438, + "physical_residual_inf": 164.99538058042526, + "physical_residual_l2": 400.43149354622085 + }, + { + "iteration": 85, + "petsc_scaled_norm": 8.83839560486379e-12, + "physical_gate": false, + "physical_relative_residual": 0.005664633017938229, + "physical_residual_inf": 165.01889031380415, + "physical_residual_l2": 400.55004199173396 + }, + { + "iteration": 86, + "petsc_scaled_norm": 8.76474380788634e-12, + "physical_gate": false, + "physical_relative_residual": 0.005666254330386419, + "physical_residual_inf": 165.04162164777517, + "physical_residual_l2": 400.6646860943877 + }, + { + "iteration": 87, + "petsc_scaled_norm": 8.692903104674978e-12, + "physical_gate": false, + "physical_relative_residual": 0.005667823030266716, + "physical_residual_inf": 165.06359937787056, + "physical_residual_l2": 400.7756099266882 + }, + { + "iteration": 88, + "petsc_scaled_norm": 8.6228004670984e-12, + "physical_gate": false, + "physical_relative_residual": 0.005669341780167575, + "physical_residual_inf": 165.08488169312477, + "physical_residual_l2": 400.8830017620706 + }, + { + "iteration": 89, + "petsc_scaled_norm": 8.554366924194858e-12, + "physical_gate": false, + "physical_relative_residual": 0.00567081285347783, + "physical_residual_inf": 165.10548807680607, + "physical_residual_l2": 400.98702235340096 + }, + { + "iteration": 90, + "petsc_scaled_norm": 8.48753727689602e-12, + "physical_gate": false, + "physical_relative_residual": 0.005672238433742042, + "physical_residual_inf": 165.12545012682676, + "physical_residual_l2": 401.0878261005959 + }, + { + "iteration": 91, + "petsc_scaled_norm": 8.422249836890262e-12, + "physical_gate": false, + "physical_relative_residual": 0.005673620646038907, + "physical_residual_inf": 165.14480759948492, + "physical_residual_l2": 401.1855632694112 + }, + { + "iteration": 92, + "petsc_scaled_norm": 8.358446187248107e-12, + "physical_gate": false, + "physical_relative_residual": 0.005674961432952079, + "physical_residual_inf": 165.163573294878, + "physical_residual_l2": 401.2803712212542 + }, + { + "iteration": 93, + "petsc_scaled_norm": 8.29607096269837e-12, + "physical_gate": false, + "physical_relative_residual": 0.005676262618345437, + "physical_residual_inf": 165.1817899942398, + "physical_residual_l2": 401.37237892277665 + }, + { + "iteration": 94, + "petsc_scaled_norm": 8.235071647676516e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056775259139330795, + "physical_residual_inf": 165.1994625478983, + "physical_residual_l2": 401.4617074104432 + }, + { + "iteration": 95, + "petsc_scaled_norm": 8.175398390471113e-12, + "physical_gate": false, + "physical_relative_residual": 0.005678752949995459, + "physical_residual_inf": 165.2166265770793, + "physical_residual_l2": 401.54847196249005 + }, + { + "iteration": 96, + "petsc_scaled_norm": 8.117003831973417e-12, + "physical_gate": false, + "physical_relative_residual": 0.005679945302898208, + "physical_residual_inf": 165.23330158740282, + "physical_residual_l2": 401.6327840448002 + }, + { + "iteration": 97, + "petsc_scaled_norm": 8.059842947693092e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056811044082949866, + "physical_residual_inf": 165.24951174110174, + "physical_residual_l2": 401.7147451734174 + }, + { + "iteration": 98, + "petsc_scaled_norm": 8.00387290184254e-12, + "physical_gate": false, + "physical_relative_residual": 0.005682231620130264, + "physical_residual_inf": 165.26527177542448, + "physical_residual_l2": 401.79445108667323 + }, + { + "iteration": 99, + "petsc_scaled_norm": 7.94905291241504e-12, + "physical_gate": false, + "physical_relative_residual": 0.005683328253930057, + "physical_residual_inf": 165.28060329705477, + "physical_residual_l2": 401.8719948063045 + }, + { + "iteration": 100, + "petsc_scaled_norm": 7.895344126291133e-12, + "physical_gate": false, + "physical_relative_residual": 0.005684395538592868, + "physical_residual_inf": 165.29552077502012, + "physical_residual_l2": 401.94746322855747 + }, + { + "iteration": 100, + "petsc_scaled_norm": 6.705102661003929e-11, + "physical_gate": false, + "physical_relative_residual": 0.005684395538592868, + "physical_residual_inf": 165.29552077502012, + "physical_residual_l2": 401.94746322855747 + }, + { + "iteration": 101, + "petsc_scaled_norm": 6.704632500248803e-11, + "physical_gate": false, + "physical_relative_residual": 0.005682381636197498, + "physical_residual_inf": 165.27698933333158, + "physical_residual_l2": 401.80505882451604 + }, + { + "iteration": 102, + "petsc_scaled_norm": 6.704258105695133e-11, + "physical_gate": false, + "physical_relative_residual": 0.00568131425595592, + "physical_residual_inf": 165.26130467653275, + "physical_residual_l2": 401.7295836438236 + }, + { + "iteration": 103, + "petsc_scaled_norm": 6.70343744086747e-11, + "physical_gate": false, + "physical_relative_residual": 0.00567885040655522, + "physical_residual_inf": 165.217690654099, + "physical_residual_l2": 401.55536318191787 + }, + { + "iteration": 104, + "petsc_scaled_norm": 6.702488326423443e-11, + "physical_gate": false, + "physical_relative_residual": 0.005677701516311353, + "physical_residual_inf": 165.17508527636528, + "physical_residual_l2": 401.4741243736902 + }, + { + "iteration": 105, + "petsc_scaled_norm": 6.702386445482164e-11, + "physical_gate": false, + "physical_relative_residual": 0.005678300001933315, + "physical_residual_inf": 165.14034850895405, + "physical_residual_l2": 401.51644369786334 + }, + { + "iteration": 106, + "petsc_scaled_norm": 6.701892661150834e-11, + "physical_gate": false, + "physical_relative_residual": 0.005678227293642268, + "physical_residual_inf": 165.21616938710213, + "physical_residual_l2": 401.51130244529855 + }, + { + "iteration": 107, + "petsc_scaled_norm": 6.700486542244951e-11, + "physical_gate": false, + "physical_relative_residual": 0.00567391384921359, + "physical_residual_inf": 165.3197178170085, + "physical_residual_l2": 401.2062958647196 + }, + { + "iteration": 108, + "petsc_scaled_norm": 6.69078578131501e-11, + "physical_gate": false, + "physical_relative_residual": 0.005663063656322638, + "physical_residual_inf": 164.65072333812714, + "physical_residual_l2": 400.4390713676822 + }, + { + "iteration": 109, + "petsc_scaled_norm": 6.673750852104399e-11, + "physical_gate": false, + "physical_relative_residual": 0.005662816132973669, + "physical_residual_inf": 163.81379402428865, + "physical_residual_l2": 400.42156882382636 + }, + { + "iteration": 110, + "petsc_scaled_norm": 6.669757310385541e-11, + "physical_gate": false, + "physical_relative_residual": 0.005658882513959503, + "physical_residual_inf": 163.7092956379056, + "physical_residual_l2": 400.14341995587426 + }, + { + "iteration": 111, + "petsc_scaled_norm": 6.665297946755092e-11, + "physical_gate": false, + "physical_relative_residual": 0.005660383040072083, + "physical_residual_inf": 163.2088963240385, + "physical_residual_l2": 400.24952317482956 + }, + { + "iteration": 112, + "petsc_scaled_norm": 6.66124395146612e-11, + "physical_gate": false, + "physical_relative_residual": 0.005658204699597325, + "physical_residual_inf": 162.75620298832655, + "physical_residual_l2": 400.09549124268614 + }, + { + "iteration": 113, + "petsc_scaled_norm": 6.532060831771971e-11, + "physical_gate": false, + "physical_relative_residual": 0.005626789484964978, + "physical_residual_inf": 157.35565887391567, + "physical_residual_l2": 397.87410011278973 + }, + { + "iteration": 114, + "petsc_scaled_norm": 6.399323572886394e-11, + "physical_gate": false, + "physical_relative_residual": 0.0055810814162404855, + "physical_residual_inf": 150.7356634363532, + "physical_residual_l2": 394.64205157778684 + }, + { + "iteration": 115, + "petsc_scaled_norm": 6.33862175922027e-11, + "physical_gate": false, + "physical_relative_residual": 0.005528678621755433, + "physical_residual_inf": 147.57674991339445, + "physical_residual_l2": 390.93661444443626 + }, + { + "iteration": 116, + "petsc_scaled_norm": 6.327257042789579e-11, + "physical_gate": false, + "physical_relative_residual": 0.005569699637361766, + "physical_residual_inf": 146.82559456676245, + "physical_residual_l2": 393.83723827507595 + }, + { + "iteration": 117, + "petsc_scaled_norm": 6.327069570107501e-11, + "physical_gate": false, + "physical_relative_residual": 0.005575687568144659, + "physical_residual_inf": 146.8201399296522, + "physical_residual_l2": 394.2606489212619 + }, + { + "iteration": 118, + "petsc_scaled_norm": 6.176038965374457e-11, + "physical_gate": false, + "physical_relative_residual": 0.005604906855484476, + "physical_residual_inf": 144.4987237304449, + "physical_residual_l2": 396.32676454320415 + }, + { + "iteration": 119, + "petsc_scaled_norm": 2.994459616606792e-11, + "physical_gate": false, + "physical_relative_residual": 0.0024337796352644943, + "physical_residual_inf": 58.55878732496649, + "physical_residual_l2": 172.09420840092463 + }, + { + "iteration": 120, + "petsc_scaled_norm": 2.7662973140034807e-11, + "physical_gate": false, + "physical_relative_residual": 0.002363356150912207, + "physical_residual_inf": 78.26836785674095, + "physical_residual_l2": 167.11451606689593 + }, + { + "iteration": 121, + "petsc_scaled_norm": 2.623351727704782e-11, + "physical_gate": false, + "physical_relative_residual": 0.0022797372212519326, + "physical_residual_inf": 83.77296379208565, + "physical_residual_l2": 161.20176484706184 + }, + { + "iteration": 122, + "petsc_scaled_norm": 2.484310433551814e-11, + "physical_gate": false, + "physical_relative_residual": 0.0020051700184374513, + "physical_residual_inf": 44.993958592414856, + "physical_residual_l2": 141.78693174690764 + }, + { + "iteration": 123, + "petsc_scaled_norm": 2.4809499009029188e-11, + "physical_gate": false, + "physical_relative_residual": 0.0020191392802134393, + "physical_residual_inf": 47.044768050312996, + "physical_residual_l2": 142.77470771990477 + }, + { + "iteration": 124, + "petsc_scaled_norm": 1.8484311908927255e-11, + "physical_gate": false, + "physical_relative_residual": 0.0016374925583861443, + "physical_residual_inf": 44.65770084410906, + "physical_residual_l2": 115.78820921773514 + }, + { + "iteration": 125, + "petsc_scaled_norm": 1.6897945575777477e-11, + "physical_gate": false, + "physical_relative_residual": 0.00144834097845206, + "physical_residual_inf": 35.64571965485811, + "physical_residual_l2": 102.4131727333811 + }, + { + "iteration": 126, + "petsc_scaled_norm": 1.6489290032558252e-11, + "physical_gate": false, + "physical_relative_residual": 0.0014904698192523132, + "physical_residual_inf": 35.95154112577438, + "physical_residual_l2": 105.39213163471986 + }, + { + "iteration": 127, + "petsc_scaled_norm": 1.638079203267918e-11, + "physical_gate": false, + "physical_relative_residual": 0.0015508806262156249, + "physical_residual_inf": 37.188062854111195, + "physical_residual_l2": 109.66382076079077 + }, + { + "iteration": 128, + "petsc_scaled_norm": 1.5760641798247293e-11, + "physical_gate": false, + "physical_relative_residual": 0.001520296134385655, + "physical_residual_inf": 36.78208224475384, + "physical_residual_l2": 107.50117060357914 + }, + { + "iteration": 129, + "petsc_scaled_norm": 1.5652561481786773e-11, + "physical_gate": false, + "physical_relative_residual": 0.0015560902903043073, + "physical_residual_inf": 37.06665503233671, + "physical_residual_l2": 110.03219964127192 + }, + { + "iteration": 130, + "petsc_scaled_norm": 1.545508039223523e-11, + "physical_gate": false, + "physical_relative_residual": 0.0016206828802737662, + "physical_residual_inf": 37.34733371436596, + "physical_residual_l2": 114.59958547945257 + }, + { + "iteration": 131, + "petsc_scaled_norm": 1.5275842042045534e-11, + "physical_gate": false, + "physical_relative_residual": 0.0016981839738369692, + "physical_residual_inf": 37.62356358766556, + "physical_residual_l2": 120.07974036024396 + }, + { + "iteration": 132, + "petsc_scaled_norm": 1.5102476613143237e-11, + "physical_gate": false, + "physical_relative_residual": 0.001786483623162977, + "physical_residual_inf": 37.88254773616791, + "physical_residual_l2": 126.32346844172538 + }, + { + "iteration": 133, + "petsc_scaled_norm": 1.4934840633976334e-11, + "physical_gate": false, + "physical_relative_residual": 0.0018819724110862555, + "physical_residual_inf": 38.131670758128166, + "physical_residual_l2": 133.07554538850883 + }, + { + "iteration": 134, + "petsc_scaled_norm": 1.4772639696678188e-11, + "physical_gate": false, + "physical_relative_residual": 0.0019820247782828615, + "physical_residual_inf": 38.36962520331144, + "physical_residual_l2": 140.15031612035747 + }, + { + "iteration": 135, + "petsc_scaled_norm": 1.4615627272977137e-11, + "physical_gate": false, + "physical_relative_residual": 0.002084660395538175, + "physical_residual_inf": 38.597610272467136, + "physical_residual_l2": 147.40775021560742 + }, + { + "iteration": 136, + "petsc_scaled_norm": 1.4463512055526682e-11, + "physical_gate": false, + "physical_relative_residual": 0.002188427168135409, + "physical_residual_inf": 38.81613325327635, + "physical_residual_l2": 154.74516907214206 + }, + { + "iteration": 137, + "petsc_scaled_norm": 1.431605085817233e-11, + "physical_gate": false, + "physical_relative_residual": 0.0022922621944843863, + "physical_residual_inf": 39.02579416334629, + "physical_residual_l2": 162.08741419774663 + }, + { + "iteration": 138, + "petsc_scaled_norm": 1.4173009609567152e-11, + "physical_gate": false, + "physical_relative_residual": 0.0023953987467236473, + "physical_residual_inf": 39.22711659222841, + "physical_residual_l2": 169.38026974540483 + }, + { + "iteration": 139, + "petsc_scaled_norm": 1.4034172138435327e-11, + "physical_gate": false, + "physical_relative_residual": 0.0024972884791783453, + "physical_residual_inf": 39.42058937251568, + "physical_residual_l2": 176.58496182060483 + }, + { + "iteration": 140, + "petsc_scaled_norm": 1.3899336435780909e-11, + "physical_gate": false, + "physical_relative_residual": 0.0025975448286501036, + "physical_residual_inf": 39.6066624969244, + "physical_residual_l2": 183.6741562774537 + }, + { + "iteration": 141, + "petsc_scaled_norm": 1.3768313891970917e-11, + "physical_gate": false, + "physical_relative_residual": 0.0026959008022218486, + "physical_residual_inf": 39.785752564668655, + "physical_residual_l2": 190.6289738657323 + }, + { + "iteration": 142, + "petsc_scaled_norm": 1.3640928101587891e-11, + "physical_gate": false, + "physical_relative_residual": 0.0027921778829846223, + "physical_residual_inf": 39.95824544131756, + "physical_residual_l2": 197.4367915337525 + }, + { + "iteration": 143, + "petsc_scaled_norm": 1.3517013878765355e-11, + "physical_gate": false, + "physical_relative_residual": 0.00288626301826718, + "physical_residual_inf": 40.124499186873436, + "physical_residual_l2": 204.08961525046752 + }, + { + "iteration": 144, + "petsc_scaled_norm": 1.3396416354216834e-11, + "physical_gate": false, + "physical_relative_residual": 0.002978091706757054, + "physical_residual_inf": 40.284846134483814, + "physical_residual_l2": 210.58288408433322 + }, + { + "iteration": 145, + "petsc_scaled_norm": 1.3278990161613637e-11, + "physical_gate": false, + "physical_relative_residual": 0.003067635334793534, + "physical_residual_inf": 40.43959566950798, + "physical_residual_l2": 216.91457474399732 + }, + { + "iteration": 146, + "petsc_scaled_norm": 1.3164598700737065e-11, + "physical_gate": false, + "physical_relative_residual": 0.0031548918451412, + "physical_residual_inf": 40.58903580904007, + "physical_residual_l2": 223.08454176094818 + }, + { + "iteration": 147, + "petsc_scaled_norm": 1.3053113469325589e-11, + "physical_gate": false, + "physical_relative_residual": 0.003239878673712865, + "physical_residual_inf": 40.73343525826931, + "physical_residual_l2": 229.09401804040448 + }, + { + "iteration": 148, + "petsc_scaled_norm": 1.2944413456122529e-11, + "physical_gate": false, + "physical_relative_residual": 0.0033226274734655375, + "physical_residual_inf": 40.873044684529305, + "physical_residual_l2": 234.94524178442072 + }, + { + "iteration": 149, + "petsc_scaled_norm": 1.2838384588612199e-11, + "physical_gate": false, + "physical_relative_residual": 0.003403180124790677, + "physical_residual_inf": 41.00809869170189, + "physical_residual_l2": 240.6411743838769 + }, + { + "iteration": 150, + "petsc_scaled_norm": 1.2734919229720527e-11, + "physical_gate": false, + "physical_relative_residual": 0.003481585756392777, + "physical_residual_inf": 41.22436069017749, + "physical_residual_l2": 246.18528976278282 + }, + { + "iteration": 151, + "petsc_scaled_norm": 1.263391571842652e-11, + "physical_gate": false, + "physical_relative_residual": 0.0035578983920850427, + "physical_residual_inf": 42.35250269046401, + "physical_residual_l2": 251.58140798160477 + }, + { + "iteration": 152, + "petsc_scaled_norm": 1.2535277949828324e-11, + "physical_gate": false, + "physical_relative_residual": 0.00363217526630055, + "physical_residual_inf": 43.445550180219925, + "physical_residual_l2": 256.8335761259173 + }, + { + "iteration": 153, + "petsc_scaled_norm": 1.2438914990721034e-11, + "physical_gate": false, + "physical_relative_residual": 0.0037044755206388125, + "physical_residual_inf": 44.54916080087423, + "physical_residual_l2": 261.94597613832707 + }, + { + "iteration": 154, + "petsc_scaled_norm": 1.234474072719109e-11, + "physical_gate": false, + "physical_relative_residual": 0.0037748591520540544, + "physical_residual_inf": 46.11495612561703, + "physical_residual_l2": 266.9228504441523 + }, + { + "iteration": 155, + "petsc_scaled_norm": 1.2252673541123384e-11, + "physical_gate": false, + "physical_relative_residual": 0.003843386286740101, + "physical_residual_inf": 47.63421295583248, + "physical_residual_l2": 271.76845060733103 + }, + { + "iteration": 156, + "petsc_scaled_norm": 1.2162636012857732e-11, + "physical_gate": false, + "physical_relative_residual": 0.003910116635568176, + "physical_residual_inf": 49.108979642391205, + "physical_residual_l2": 276.4869988240586 + }, + { + "iteration": 157, + "petsc_scaled_norm": 1.2074554647533112e-11, + "physical_gate": false, + "physical_relative_residual": 0.003975109040184309, + "physical_residual_inf": 50.541177213191986, + "physical_residual_l2": 281.08265582702734 + }, + { + "iteration": 158, + "petsc_scaled_norm": 1.1988359622921697e-11, + "physical_gate": false, + "physical_relative_residual": 0.004038421199065167, + "physical_residual_inf": 51.932628355920315, + "physical_residual_l2": 285.5595015146488 + }, + { + "iteration": 159, + "petsc_scaled_norm": 1.190398455678599e-11, + "physical_gate": false, + "physical_relative_residual": 0.004100109405005818, + "physical_residual_inf": 53.28504404425621, + "physical_residual_l2": 289.9215163886355 + }, + { + "iteration": 160, + "petsc_scaled_norm": 1.182136629199864e-11, + "physical_gate": false, + "physical_relative_residual": 0.004160228416599934, + "physical_residual_inf": 54.60004425048828, + "physical_residual_l2": 294.1725724662787 + }, + { + "iteration": 161, + "petsc_scaled_norm": 1.1740444697841467e-11, + "physical_gate": false, + "physical_relative_residual": 0.00421883135874786, + "physical_residual_inf": 55.879160456359386, + "physical_residual_l2": 298.3164262453068 + }, + { + "iteration": 162, + "petsc_scaled_norm": 1.1661162486066402e-11, + "physical_gate": false, + "physical_relative_residual": 0.004275969654453714, + "physical_residual_inf": 57.1238432303071, + "physical_residual_l2": 302.35671388121193 + }, + { + "iteration": 163, + "petsc_scaled_norm": 1.1583465040437646e-11, + "physical_gate": false, + "physical_relative_residual": 0.004331692979323949, + "physical_residual_inf": 58.33546309173107, + "physical_residual_l2": 306.2969479698124 + }, + { + "iteration": 164, + "petsc_scaled_norm": 1.150730025860331e-11, + "physical_gate": false, + "physical_relative_residual": 0.004386049264496075, + "physical_residual_inf": 59.515321150422096, + "physical_residual_l2": 310.1405177543444 + }, + { + "iteration": 165, + "petsc_scaled_norm": 1.1432618405256323e-11, + "physical_gate": false, + "physical_relative_residual": 0.004439084715594255, + "physical_residual_inf": 60.66464802622795, + "physical_residual_l2": 313.89069046582546 + }, + { + "iteration": 166, + "petsc_scaled_norm": 1.1359371975643873e-11, + "physical_gate": false, + "physical_relative_residual": 0.004490843816219308, + "physical_residual_inf": 61.78461579233408, + "physical_residual_l2": 317.55061156983464 + }, + { + "iteration": 167, + "petsc_scaled_norm": 1.1287515568574663e-11, + "physical_gate": false, + "physical_relative_residual": 0.004541369389248536, + "physical_residual_inf": 62.87633763998747, + "physical_residual_l2": 321.123309101065 + }, + { + "iteration": 168, + "petsc_scaled_norm": 1.12170057681532e-11, + "physical_gate": false, + "physical_relative_residual": 0.004590702590551331, + "physical_residual_inf": 63.940862864255905, + "physical_residual_l2": 324.6116932189497 + }, + { + "iteration": 169, + "petsc_scaled_norm": 1.1147801033539586e-11, + "physical_gate": false, + "physical_relative_residual": 0.004638883013177253, + "physical_residual_inf": 64.97919897735119, + "physical_residual_l2": 328.018563574872 + }, + { + "iteration": 170, + "petsc_scaled_norm": 1.1079861596100703e-11, + "physical_gate": false, + "physical_relative_residual": 0.004685948698577817, + "physical_residual_inf": 65.99230193346739, + "physical_residual_l2": 331.34661010566515 + }, + { + "iteration": 171, + "petsc_scaled_norm": 1.1013149363373001e-11, + "physical_gate": false, + "physical_relative_residual": 0.004731936178436482, + "physical_residual_inf": 66.98107463121414, + "physical_residual_l2": 334.59841599143937 + }, + { + "iteration": 172, + "petsc_scaled_norm": 1.0947627829310535e-11, + "physical_gate": false, + "physical_relative_residual": 0.004776880601049372, + "physical_residual_inf": 67.94638967514038, + "physical_residual_l2": 337.7764665920482 + }, + { + "iteration": 173, + "petsc_scaled_norm": 1.088326199033815e-11, + "physical_gate": false, + "physical_relative_residual": 0.004820815680957667, + "physical_residual_inf": 68.88906879723072, + "physical_residual_l2": 340.8831458855611 + }, + { + "iteration": 174, + "petsc_scaled_norm": 1.0820018266770286e-11, + "physical_gate": false, + "physical_relative_residual": 0.004863773845088155, + "physical_residual_inf": 69.80990219861269, + "physical_residual_l2": 343.9207468019603 + }, + { + "iteration": 175, + "petsc_scaled_norm": 1.0757864429195644e-11, + "physical_gate": false, + "physical_relative_residual": 0.0049057861953493076, + "physical_residual_inf": 70.70963376760483, + "physical_residual_l2": 346.89146857828484 + }, + { + "iteration": 176, + "petsc_scaled_norm": 1.0696769529460809e-11, + "physical_gate": false, + "physical_relative_residual": 0.004946882663971067, + "physical_residual_inf": 71.5889884904027, + "physical_residual_l2": 349.7974277428115 + }, + { + "iteration": 177, + "petsc_scaled_norm": 1.0636703835916614e-11, + "physical_gate": false, + "physical_relative_residual": 0.004987091975718736, + "physical_residual_inf": 72.44864331930876, + "physical_residual_l2": 352.64065544317356 + }, + { + "iteration": 178, + "petsc_scaled_norm": 1.0577638772620282e-11, + "physical_gate": false, + "physical_relative_residual": 0.005026441762642522, + "physical_residual_inf": 73.2892599105835, + "physical_residual_l2": 355.423105560379 + }, + { + "iteration": 179, + "petsc_scaled_norm": 1.0519546862210672e-11, + "physical_gate": false, + "physical_relative_residual": 0.005064958549171331, + "physical_residual_inf": 74.11145938187838, + "physical_residual_l2": 358.1466536547826 + }, + { + "iteration": 180, + "petsc_scaled_norm": 1.046240167219673e-11, + "physical_gate": false, + "physical_relative_residual": 0.005102667855853208, + "physical_residual_inf": 74.91584118455648, + "physical_residual_l2": 360.8131043016424 + }, + { + "iteration": 181, + "petsc_scaled_norm": 1.040617776442106e-11, + "physical_gate": false, + "physical_relative_residual": 0.005139594205616129, + "physical_residual_inf": 75.7029792368412, + "physical_residual_l2": 363.4241915338252 + }, + { + "iteration": 182, + "petsc_scaled_norm": 1.0350850647479804e-11, + "physical_gate": false, + "physical_relative_residual": 0.005175761198306801, + "physical_residual_inf": 76.47342335432768, + "physical_residual_l2": 365.98158411249506 + }, + { + "iteration": 183, + "petsc_scaled_norm": 1.029639673189486e-11, + "physical_gate": false, + "physical_relative_residual": 0.005211191497890653, + "physical_residual_inf": 77.22769446671009, + "physical_residual_l2": 368.4868846220163 + }, + { + "iteration": 184, + "petsc_scaled_norm": 1.0242793287854518e-11, + "physical_gate": false, + "physical_relative_residual": 0.005245906952048466, + "physical_residual_inf": 77.96630132198334, + "physical_residual_l2": 370.94163792671236 + }, + { + "iteration": 185, + "petsc_scaled_norm": 1.0190018405348437e-11, + "physical_gate": false, + "physical_relative_residual": 0.005279928553869612, + "physical_residual_inf": 78.6897247955203, + "physical_residual_l2": 373.34732846216843 + }, + { + "iteration": 186, + "petsc_scaled_norm": 1.0138050956539292e-11, + "physical_gate": false, + "physical_relative_residual": 0.0053132765247978, + "physical_residual_inf": 79.39843005686998, + "physical_residual_l2": 375.7053861003818 + }, + { + "iteration": 187, + "petsc_scaled_norm": 1.0086870560224158e-11, + "physical_gate": false, + "physical_relative_residual": 0.005345970312987868, + "physical_residual_inf": 80.09285752475262, + "physical_residual_l2": 378.01718603356915 + }, + { + "iteration": 188, + "petsc_scaled_norm": 1.0036457548249399e-11, + "physical_gate": false, + "physical_relative_residual": 0.005378028668742902, + "physical_residual_inf": 80.77343787997961, + "physical_residual_l2": 380.2840541083767 + }, + { + "iteration": 189, + "petsc_scaled_norm": 9.98679293375409e-12, + "physical_gate": false, + "physical_relative_residual": 0.005409469644920168, + "physical_residual_inf": 81.44058057665825, + "physical_residual_l2": 382.50726685458363 + }, + { + "iteration": 190, + "petsc_scaled_norm": 9.93785838112477e-12, + "physical_gate": false, + "physical_relative_residual": 0.005440310637952521, + "physical_residual_inf": 82.0946800634265, + "physical_residual_l2": 384.688054385754 + }, + { + "iteration": 191, + "petsc_scaled_norm": 9.889636177554439e-12, + "physical_gate": false, + "physical_relative_residual": 0.005470568403467042, + "physical_residual_inf": 82.73611468821764, + "physical_residual_l2": 386.82760150364106 + }, + { + "iteration": 192, + "petsc_scaled_norm": 9.842109206104424e-12, + "physical_gate": false, + "physical_relative_residual": 0.005500259095784899, + "physical_residual_inf": 83.36524691432714, + "physical_residual_l2": 388.927050491249 + }, + { + "iteration": 193, + "petsc_scaled_norm": 9.795260920177243e-12, + "physical_gate": false, + "physical_relative_residual": 0.005529398310132441, + "physical_residual_inf": 83.98243063688278, + "physical_residual_l2": 390.9875040976086 + }, + { + "iteration": 194, + "petsc_scaled_norm": 9.7490753193132e-12, + "physical_gate": false, + "physical_relative_residual": 0.005558001061685114, + "physical_residual_inf": 84.58800157904625, + "physical_residual_l2": 393.01002405595756 + }, + { + "iteration": 195, + "petsc_scaled_norm": 9.703536926230845e-12, + "physical_gate": false, + "physical_relative_residual": 0.0055860818562691985, + "physical_residual_inf": 85.18228439986706, + "physical_residual_l2": 394.99563608310876 + }, + { + "iteration": 196, + "petsc_scaled_norm": 9.658630765036038e-12, + "physical_gate": false, + "physical_relative_residual": 0.005613654669618142, + "physical_residual_inf": 85.76558966189623, + "physical_residual_l2": 396.9453284126517 + }, + { + "iteration": 197, + "petsc_scaled_norm": 9.61434234053023e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056407330234297315, + "physical_residual_inf": 86.33822248876095, + "physical_residual_l2": 398.860057173006 + }, + { + "iteration": 198, + "petsc_scaled_norm": 9.570657618552962e-12, + "physical_gate": false, + "physical_relative_residual": 0.0056673299469340455, + "physical_residual_inf": 86.90047166496515, + "physical_residual_l2": 400.74074366986605 + }, + { + "iteration": 199, + "petsc_scaled_norm": 9.527563007297985e-12, + "physical_gate": false, + "physical_relative_residual": 0.005693458027987577, + "physical_residual_inf": 87.45261662453413, + "physical_residual_l2": 402.58827799910046 + }, + { + "iteration": 200, + "petsc_scaled_norm": 9.485045339546517e-12, + "physical_gate": false, + "physical_relative_residual": 0.005719129437460587, + "physical_residual_inf": 87.99492823332548, + "physical_residual_l2": 404.4035207711986 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1400235.0, + "nz_unneeded": 0.0, + "nz_used": 1400235.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1300062.0, + "nz_unneeded": 0.0, + "nz_used": 1300062.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 800172.0, + "nz_unneeded": 0.0, + "nz_used": 800172.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 3500469.0, + "nz_used_sum": 3500469.0 + }, + "max_diag_nnz": 27, + "max_offdiag_nnz": 34, + "owned_row_pattern_complete": true, + "received_row_records": 33355, + "sent_row_records": 33351, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 3, + "reaction_resultant": [ + -102462.8663316321, + 6736.968383609836, + -2798.0954127530713 + ], + "reaction_vector": null, + "residual": null, + "runtime_seconds": 23.67816585199762, + "segments": 5556, + "solution": null, + "solve_seconds": 20.921542731000955, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "FAIL_PHYSICAL_GATE" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/small_mpi.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/small_mpi.json new file mode 100644 index 00000000..6de78f0a --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/small_mpi.json @@ -0,0 +1,381 @@ +{ + "case": "petsc_mpi_native_physical_convergence", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "assembly_seconds": 0.05360257400025148, + "backend": "petsc4py_mpi_rank_local", + "converged_reason": 2, + "diagnostic": { + "assembly_conservation": { + "HEX8": { + "expected_element_contributions": 1, + "local_kernel_dispatches": 1, + "offprocess_insertions": true, + "owned_element_contributions": 1, + "status": "PASS" + }, + "TET4": { + "expected_element_contributions": 1, + "local_kernel_dispatches": 1, + "offprocess_insertions": true, + "owned_element_contributions": 1, + "status": "PASS" + }, + "WEDGE6": { + "expected_element_contributions": 1, + "local_kernel_dispatches": 1, + "offprocess_insertions": true, + "owned_element_contributions": 1, + "status": "PASS" + } + }, + "bc_audit": { + "expected_fixed_dof_count": 21, + "fixed_dof_count": 21, + "prescribed_values": "all_zero", + "rhs_difference": 0.0, + "row_difference": 0, + "serial_distributed_definition_match": true + }, + "dropped_element_contributions": 0, + "duplicate_element_contributions": 0, + "ksp_convergence": { + "atol": 0.0, + "dtol": 10000.0, + "explicit_scaled_residual": 2.7674971258976776e-22, + "final_reported_residual": 2.638671717502426e-22, + "initial_residual": 5.971079232984792e-07, + "norm_type": "UNPRECONDITIONED_SCALED_CONSTRAINED", + "reason": 2, + "reason_name": "KSP_CONVERGED_RTOL_NATIVE_PHYSICAL", + "rtol": 1e-10 + }, + "load_audit": { + "assembled_rhs_sum": 100000.0, + "difference": 0.0, + "dropped_loads": 0, + "duplicate_loads": 0, + "expected_sum": 100000.0, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "operator_metrics": { + "diagonal_weighted": 32274038461538.46, + "frobenius_norm": 667099257146.6417, + "rhs_l2": 70710.67811865476, + "rhs_sum": 100000.0, + "rhs_weighted": 2050000.0, + "row_sum_l2": 9.903271819529903e-05, + "row_sum_weighted": -0.0033452510833740234, + "shape": [ + 33, + 33 + ], + "trace": 2443269230769.2305 + }, + "physical_residual": { + "constrained_dof_residual_l2": 72347.09723297425, + "free_dof_residual_l2": 3.204436507263039e-11, + "ghost_interface_residual_l2": 9244.26377978011, + "owned_dof_residual_l2": 72347.09723297425, + "residual_definition_match": false, + "residual_ratio_free_to_ksp": 121441272364.72316, + "scaled_reconstructed_free_residual_l2": 3.641905444345826e-11, + "scaled_to_physical_reconstruction_relative": 1.4663771143002015e-11, + "true_relative_residual": 4.531757568334861e-16, + "true_residual_inf": 55370.20169512078, + "true_residual_l2": 72347.09723297425 + }, + "reaction_audit": { + "direct_physical_resultant": [ + -100000.00000000009, + 9.094947017729282e-12, + 3.2741809263825417e-11 + ], + "distributed_resultant": [ + -100000.00000000006, + 1.000444171950221e-11, + 2.637534635141492e-11 + ], + "duplication": false, + "loss": false, + "relative_difference": 1.5676325027886708e-16 + }, + "solution_synchronization": { + "ghost_update_after_solve": true, + "owned_scatter_max_difference": 0.0, + "solution_scatter_valid": true, + "stale_ghost_values_found": false + } + }, + "element_count": 3, + "energy": 0.04827941499918294, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "force_balance_component_relative": 5.820766091346741e-16, + "force_balance_relative": 6.468291535091174e-16, + "free_residual_relative": 4.531757568334861e-16, + "global_gather_audit": { + "ghost_solution_exchange": true, + "global_connectivity_required_on_all_ranks": false, + "global_gather_only_for_validation": true, + "global_k_replicated_on_all_ranks": false, + "global_model_retained_on_any_rank": false, + "global_u_required_on_all_ranks": false + }, + "iterations": 1, + "ksp_final_residual": 2.638671717502426e-22, + "load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "matrix_sanity": { + "constrained_scaled_matrix_symmetric": true, + "definiteness_assessment": "positive_diagonal_symmetric_constrained_operator_indicator", + "diagonal_max": 207532051282.05127, + "diagonal_min": 20192307692.30769, + "diagonal_ratio_indicator": 10.277777777777779, + "nan_inf_count": 0, + "negative_diagonal_count": 0, + "nullspace_assessment": "no structural zero-diagonal indicator after constraints", + "nullspace_detected": false, + "raw_matrix_symmetric": true, + "symmetry_relative_probe": 9.70090010573868e-17, + "zero_diagonal_count": 0 + }, + "model_digest": "178b1e4afe20f85404bb643905d3439256c3357ba120895ffad06ced98d7407c", + "ndof": 33, + "normalized_physics_digest": "9ae1534ebb16ea89dbb3790bf3f5035bc7b22d8f5d600a2a8a3272bc39616484", + "offprocess_insertion": true, + "partition": { + "digest": "92ed50955e7e1144d01423958015a204453e0fd919522020bc3712174ce92ece", + "records": [ + { + "family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "global_model_retained": false, + "local_nodes": 4, + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "family_counts": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "global_model_retained": false, + "local_nodes": 10, + "owned_elements": [ + 1, + 2 + ], + "owned_nodes": 7, + "rank": 1 + } + ] + }, + "petsc_matrix_assembly": "PASS", + "petsc_vector_assembly": "PASS", + "physical_convergence_callback": { + "accepted_by_callback": true, + "callback_count": 2, + "callback_error": null, + "final_force_balance_relative": 6.468291535091174e-16, + "final_physical_relative_residual": 4.531757568334861e-16, + "history": [ + { + "iteration": 0, + "petsc_scaled_norm": 5.971079232984792e-07, + "physical_gate": false, + "physical_relative_residual": 1.0, + "physical_residual_inf": 50000.0, + "physical_residual_l2": 70710.67811865476 + }, + { + "iteration": 1, + "petsc_scaled_norm": 2.638671717502426e-22, + "physical_gate": true, + "physical_relative_residual": 4.531757568334861e-16, + "physical_residual_inf": 2.9103830456733704e-11, + "physical_residual_l2": 3.204436507263039e-11 + } + ], + "implemented": true, + "physical_relative_gate": 1e-08 + }, + "physical_convergence_policy": null, + "preallocation_runtime": { + "global_connectivity_required": false, + "mallocs_zero": true, + "mat_info_local": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 459.0, + "nz_unneeded": 0.0, + "nz_used": 459.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 360.0, + "nz_unneeded": 0.0, + "nz_used": 360.0 + } + ], + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0 + }, + "max_diag_nnz": 16, + "max_offdiag_nnz": 17, + "owned_row_pattern_complete": true, + "received_row_records": 25, + "sent_row_records": 12, + "strategy": "rank-local connectivity exact row-owner exchange" + }, + "rank_count": 2, + "reaction_resultant": [ + -100000.00000000006, + 1.000444171950221e-11, + 2.637534635141492e-11 + ], + "reaction_vector": [ + -4624.344811729383, + -1633.9395263808715, + -3934.503150596894, + 5508.037382835441, + -312.0860613533987, + -3935.2129490099496, + -55370.20169512078, + 4392.354505800278, + 12129.438121487463, + -2799.1011082868104, + 7696.0092548773855, + 931.6916886928748, + -7748.703507735334, + -3953.7885677605504, + -11398.21222354707, + -39542.36021771605, + -6188.549605182833, + 2494.876807735196, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "residual": [ + -4624.344811729385, + -1633.939526380871, + -3934.503150596889, + 4.774847184307873e-12, + 0.0, + 0.0, + 5508.037382835441, + -312.0860613533987, + -3935.2129490099514, + -55370.20169512078, + 4392.354505800273, + 12129.438121487465, + 2.9103830456733704e-11, + -3.637978807091713e-12, + -2.7284841053187847e-12, + -2799.1011082868104, + 7696.0092548773855, + 931.6916886928748, + -7748.703507735334, + -3953.7885677605504, + -11398.212223547069, + 3.183231456205249e-12, + 0.0, + 0.0, + -39542.36021771606, + -6188.54960518283, + 2494.876807735196, + 7.275957614183426e-12, + -2.5011104298755527e-12, + -8.185452315956354e-12, + 4576.6739577528515, + 0.0, + 3711.9217052384065 + ], + "runtime_seconds": 0.03273375500066322, + "segments": 1, + "solution": [ + 0.0, + 0.0, + 0.0, + -1.838285034975211e-07, + 1.53118099829086e-07, + -3.3998149400449756e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806621e-07, + -7.000062236589675e-08, + -4.6805185420592706e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.50189143111459e-07, + 8.405987983202813e-08, + -5.220128295504757e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866549e-06, + 3.1493859502395237e-07, + -7.191876129222631e-07, + 0.0, + 0.0, + 0.0 + ], + "solve_seconds": 0.006259445999603486, + "solver_configuration": { + "atol": 0.0, + "automatic_fallback": false, + "dtol": 10000.0, + "ksp": "gmres", + "max_it": 20000, + "pc": "asm", + "restart": 100, + "rtol": 1e-10, + "solver_search": false + }, + "status": "PASS" + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/small_serial.json b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/small_serial.json new file mode 100644 index 00000000..b0f54cf4 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_r4_native_physical_convergence_verified/small_serial.json @@ -0,0 +1,193 @@ +{ + "case": "serial_reference", + "contract_id": "WP13-01C-R4-NATIVE-PHYSICAL-CONVERGENCE-001", + "contract_sha256": "7c7ed0038ba89af4783e2d72c37888e6e7e86170d179f1b0a2c43628439959ef", + "result": { + "backend": "serial_global_assembler", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.8382850349752102e-07, + 1.5311809982908588e-07, + -3.3998149400449745e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.742715819806618e-07, + -7.000062236589645e-08, + -4.6805185420592696e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.501891431114589e-07, + 8.405987983202793e-08, + -5.220128295504752e-07, + 0.0, + 0.0, + 0.0, + 1.3569050179866542e-06, + 3.149385950239527e-07, + -7.191876129222623e-07, + 0.0, + 0.0, + 0.0 + ], + "displacement_digest": "dea52cc0f152e4e9f18dbeb096fe8e25e1e113c40328e9e105ae869b723337c9", + "displacement_norm": 1.8937767094634946e-06, + "element_count": 3, + "energy": 0.048279414999182896, + "energy_identity_relative": 1.3877787807814457e-17, + "equilibrium_relative": 1.619309279227751e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 3.292603210724474e-16, + "ghost_nodes": 0, + "global_gather_present": false, + "internal_force_norm": 101163.74092547894, + "iterations": "direct", + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "matrix_nnz": 763, + "model": { + "connected_components": 1, + "dof": 33, + "element_count": 3, + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "fixed_nodes": 7, + "load_nodes": [ + 4, + 9 + ], + "model_digest": "1173570aff535ef4d8374bd1dad91c60141664ee4dcb4635a62ce24031ca2c73", + "node_count": 11 + }, + "model_digest": "5e8a2dbe0af0004dd8131659fb1c09ef53a4988cc6139be1b4cd74c79923809a", + "ndof": 33, + "peak_memory_mb": 76.6484375, + "rank_count": 1, + "reaction_digest": "0ae204d2e2dbfea5dc196e98ee7b5aac4cd99e0c375a9d7647a9fe2656a53290", + "reaction_norm": 72347.0972329742, + "reaction_resultant": [ + -100000.0, + -1.000444171950221e-11, + 1.2732925824820995e-11 + ], + "reaction_vector": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "reallocations": 0, + "residual": [ + -4624.344811729378, + -1633.939526380872, + -3934.503150596891, + -2.2737367544323206e-13, + -3.637978807091713e-12, + 5.4569682106375694e-12, + 5508.03738283544, + -312.0860613534005, + -3935.212949009946, + -55370.20169512074, + 4392.354505800264, + 12129.438121487452, + 1.4551915228366852e-11, + -9.094947017729282e-13, + -7.275957614183426e-12, + -2799.101108286807, + 7696.00925487738, + 931.6916886928757, + -7748.703507735336, + -3953.78856776055, + -11398.212223547072, + 0.0, + 2.2737367544323206e-12, + 1.8189894035458565e-12, + -39542.360217716036, + -6188.549605182831, + 2494.8768077351897, + -1.4551915228366852e-11, + 3.637978807091713e-12, + 0.0, + 4576.673957752851, + 0.0, + 3711.9217052384047 + ], + "residual_digest": "11a437707fce5bb4910c4e54fd94fea0b90b810724d943fab3e11aa9d8f44d2a", + "runtime_seconds": 0.023340135001490125, + "segments": 1, + "status": "PASS", + "wall_seconds": 0.025373313001182396 + }, + "schema_version": 1 +} diff --git a/qualification/0_2_8/wp13_01c_runtime_contract.json b/qualification/0_2_8/wp13_01c_runtime_contract.json new file mode 100644 index 00000000..e65b7bcb --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_contract.json @@ -0,0 +1,74 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-MIXED-PETSC-RUNTIME-001", + "status": "PREDECLARED", + "source_sha": "b795cf70e5db2606e3092e7c4654d01df48ff085", + "scope": { + "capability": "runtime mixed PETSc/MPI linear_static validation", + "analysis": "linear_static", + "element_families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node interfaces only", + "materials": "small-strain linear isotropic elasticity", + "ranks": [1, 2, 4], + "stages": ["small", "50k-150k DOF", "300k DOF", "1M DOF if feasible"], + "claim": "bounded runtime evidence only for actually executed configurations" + }, + "oracle": { + "reference": "existing serial GlobalAssembler mixed workflow on identical input", + "independence": "serial reference and PETSc/MPI runtime use separate assembly/solver paths", + "external_correlation": "not required for this runtime gate; no external correlation claim" + }, + "tolerances": { + "predeclared": true, + "gates": [ + {"id": "displacement_relative_l2", "operator": "<=", "limit": 1.0e-10}, + {"id": "reaction_relative_l2", "operator": "<=", "limit": 1.0e-10}, + {"id": "residual_relative_l2", "operator": "<=", "limit": 1.0e-10}, + {"id": "equilibrium_relative", "operator": "<=", "limit": 1.0e-10}, + {"id": "energy_relative", "operator": "<=", "limit": 1.0e-10}, + {"id": "global_dof_count", "operator": "==", "limit": 0}, + {"id": "connectivity_and_family_counts", "operator": "==", "limit": 0}, + {"id": "replay_digest_difference", "operator": "==", "limit": 0} + ], + "post_observation_retuning": false + }, + "required_metrics": [ + "displacement", + "reactions", + "residual", + "equilibrium", + "energy", + "iterations", + "runtime", + "peak_memory", + "reallocations", + "ghost_communication", + "global_gather", + "partition_invariance", + "replay_digests" + ], + "replay_count": 2, + "owner_gate": { + "required": true, + "decision": "PASS_1M, PASS_SUBMILLION, BLOCKED_ENVIRONMENT or FAIL_RUNTIME", + "promotion": "none; runtime evidence does not change maturity" + }, + "abort_criteria": [ + "PETSc or MPI cannot be executed in the declared environment", + "any mixed family is ignored, duplicated or routed through a silent fallback", + "partition changes physical results beyond the fixed tolerances", + "BC, loads, reactions, ghosting or interface contributions are inconsistent", + "a structural global gather of K, connectivity or element fields is required", + "runtime evidence is insufficient for the reported bounded claim" + ], + "claim_limitations": [ + "No universal million-DOF mixed support claim is allowed.", + "No mixed dynamics, MPC/RBE, multi-material, nonlinear or industrial-import claim is included.", + "Unavailable runtime dependencies produce BLOCKED_ENVIRONMENT, not FAIL_RUNTIME.", + "Historical 0.2.7 evidence is immutable." + ], + "environment": { + "required": ["Python", "petsc4py", "PETSc", "mpi4py", "MPI launcher"], + "capture": ["python_version", "petsc4py_version", "petsc_version", "mpi4py_version", "mpi_implementation", "rank_count", "commands"] + } +} diff --git a/qualification/0_2_8/wp13_01c_runtime_environment/Dockerfile b/qualification/0_2_8/wp13_01c_runtime_environment/Dockerfile new file mode 100644 index 00000000..be0d2f0d --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_environment/Dockerfile @@ -0,0 +1,7 @@ +FROM mambaorg/micromamba:2.5.0 + +COPY --chown=$MAMBA_USER:$MAMBA_USER qualification/0_2_8/wp13_01c_runtime_environment/environment.yml /tmp/environment.yml +RUN micromamba create --yes --name qf-wp13-01c-petsc --file /tmp/environment.yml \ + && micromamba clean --all --yes + +ENV ENV_NAME=qf-wp13-01c-petsc diff --git a/qualification/0_2_8/wp13_01c_runtime_environment/README.md b/qualification/0_2_8/wp13_01c_runtime_environment/README.md new file mode 100644 index 00000000..a5d7dc7d --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_environment/README.md @@ -0,0 +1,21 @@ +# WP13-01C PETSc/MPI runtime environment + +This optional Docker image isolates the PETSc runtime from the Windows Python +installation. It uses conda-forge Linux packages for Python, MPICH, PETSc, +mpi4py and petsc4py. It is a prerequisite environment only: it neither +executes the WP13-01C mixed campaign nor changes QF Solver numerical source. + +Build from the repository root: + +```powershell +docker build -t qf-solver-wp13-01c-petsc:2026-09 -f qualification/0_2_8/wp13_01c_runtime_environment/Dockerfile . +``` + +Run the real PETSc/MPI smoke with the repository mounted read-only: + +```powershell +docker run --rm -v "${PWD}:/workspace:ro" -w /workspace qf-solver-wp13-01c-petsc:2026-09 mpiexec -n 2 python qualification/0_2_8/wp13_01c_runtime_environment/petsc_mpi_smoke.py +``` + +The QF Solver source is imported through `PYTHONPATH=/workspace/src`; no +optional PETSc dependency is added to the public package installation. diff --git a/qualification/0_2_8/wp13_01c_runtime_environment/environment.yml b/qualification/0_2_8/wp13_01c_runtime_environment/environment.yml new file mode 100644 index 00000000..2ef8865a --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_environment/environment.yml @@ -0,0 +1,13 @@ +name: qf-wp13-01c-petsc +channels: + - conda-forge +dependencies: + - python=3.12 + - numpy + - scipy + - matplotlib-base + - h5py + - mpi4py + - mpich + - petsc + - petsc4py diff --git a/qualification/0_2_8/wp13_01c_runtime_environment/environment_manifest.json b/qualification/0_2_8/wp13_01c_runtime_environment/environment_manifest.json new file mode 100644 index 00000000..65aac9d2 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_environment/environment_manifest.json @@ -0,0 +1,99 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01C-ENV-PETSC-RUNTIME", + "work_package": "WP13-01C-ENV", + "source_sha_at_environment_run": "ea544f072f45510c491230a82a980c26f08a1fbe", + "purpose": "Optional, isolated PETSc/MPI environment prerequisite for the future WP13-01C runtime campaign. No QF Solver numerical campaign is executed by this record.", + "host_environment": { + "python_version": "3.13.1", + "python_executable": "C:/Python313/python.exe", + "python_architecture": "AMD64 / 64-bit", + "venv": false, + "platform": "Windows-10-10.0.19045-SP0", + "mpi4py_version": "4.1.0", + "mpi_implementation": "Microsoft MPI 10.1.12498.52", + "mpiexec_path": "C:/Program Files/Microsoft MPI/Bin/mpiexec.exe", + "host_mpi_2_rank_smoke": "PASS: rank 0 / 2 and rank 1 / 2" + }, + "strategy_assessment": { + "native_windows_petsc": { + "feasibility": "REJECTED_FOR_THIS_HOST", + "risk": "petsc4py has no binary wheel for the active Python 3.13/Windows environment; no PETSc toolchain is installed", + "install_complexity": "high", + "mpi_compatibility": "Microsoft MPI exists but no matched PETSc binary was available" + }, + "conda_forge_native_windows": { + "feasibility": "NOT_SELECTED", + "risk": "would introduce an additional native MPI/PETSc stack without demonstrated compatibility with Microsoft MPI", + "install_complexity": "medium", + "mpi_compatibility": "unverified" + }, + "wsl2_linux": { + "feasibility": "NOT_AVAILABLE", + "risk": "no usable Linux distribution was registered; docker-desktop alone contains no Python runtime", + "install_complexity": "requires an operating-system distribution installation", + "mpi_compatibility": "not tested" + }, + "dedicated_docker_conda_forge": { + "feasibility": "SELECTED_AND_VALIDATED", + "risk": "isolated Linux container; PETSc runtime remains optional", + "install_complexity": "bounded Docker image build", + "mpi_compatibility": "validated with bundled MPICH 5.0.1 on 2 and 3 ranks" + } + }, + "selected_environment": { + "strategy": "Docker Linux + conda-forge dedicated environment", + "base_image": "mambaorg/micromamba:2.5.0@sha256:313021a575cb995a45357e26c48e7979cae278267c28e12c2ecac49c35729c8b", + "image_tag": "qf-solver-wp13-01c-petsc:2026-09", + "image_id": "sha256:1e0228ff97daa91e39349325b2b5b5c6916344b952d11973e63b04ccc8d8862f", + "python_version": "3.12.14", + "mpi_implementation": "MPICH 5.0.1", + "petsc4py_version": "3.25.5", + "petsc_version": "3.25.5", + "petsc_scalar_type": "numpy.float64 (real)", + "petsc_int_type": "numpy.int32", + "environment_definition": "qualification/0_2_8/wp13_01c_runtime_environment/environment.yml" + }, + "smokes": { + "petsc_mpi_2_rank": { + "status": "PASS", + "matrix_assembly": "PASS", + "vector_assembly": "PASS", + "ksp": "CG + Jacobi", + "iterations": 4, + "converged_reason": 3, + "final_residual": 0.0 + }, + "petsc_mpi_3_rank": { + "status": "PASS", + "matrix_assembly": "PASS", + "vector_assembly": "PASS", + "ksp": "CG + Jacobi", + "iterations": 6, + "converged_reason": 3, + "final_residual": 0.0 + }, + "qf_solver_import": { + "status": "PASS", + "qf_solver_source_path": "/workspace/qf_solver.py", + "solveur_source_path": "/workspace/src/solveur/__init__.py", + "repository_mount": "read-only" + } + }, + "reproducibility": { + "dockerfile": "qualification/0_2_8/wp13_01c_runtime_environment/Dockerfile", + "environment_file": "qualification/0_2_8/wp13_01c_runtime_environment/environment.yml", + "smoke": "qualification/0_2_8/wp13_01c_runtime_environment/petsc_mpi_smoke.py", + "instructions": "qualification/0_2_8/wp13_01c_runtime_environment/README.md", + "public_package_dependency_changed": false, + "optional_runtime_only": true + }, + "integrity": { + "numerical_source_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false, + "wp13_runtime_contract_created": false, + "wp13_01c_campaign_executed": false + }, + "status": "READY_FOR_WP13_01C" +} diff --git a/qualification/0_2_8/wp13_01c_runtime_environment/petsc_mpi_smoke.py b/qualification/0_2_8/wp13_01c_runtime_environment/petsc_mpi_smoke.py new file mode 100644 index 00000000..15a8d83a --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_environment/petsc_mpi_smoke.py @@ -0,0 +1,64 @@ +"""Minimal real PETSc/MPI smoke for the WP13-01C runtime environment.""" + +from __future__ import annotations + +import json + +from mpi4py import MPI +from petsc4py import PETSc + + +comm = PETSc.COMM_WORLD +size = comm.getSize() +rank = comm.getRank() +if size < 2: + raise RuntimeError("WP13-01C PETSc smoke requires at least two MPI ranks.") + +global_size = 4 * size +matrix = PETSc.Mat().createAIJ(size=(global_size, global_size), nnz=3, comm=comm) +matrix.setUp() +start, end = matrix.getOwnershipRange() +for row in range(start, end): + matrix.setValue(row, row, 2.0) + if row > 0: + matrix.setValue(row, row - 1, -1.0) + if row + 1 < global_size: + matrix.setValue(row, row + 1, -1.0) +matrix.assemblyBegin() +matrix.assemblyEnd() + +right = PETSc.Vec().createMPI(global_size, comm=comm) +right.set(1.0) +solution = right.duplicate() +ksp = PETSc.KSP().create(comm=comm) +ksp.setOperators(matrix) +ksp.setType(PETSc.KSP.Type.CG) +ksp.getPC().setType(PETSc.PC.Type.JACOBI) +ksp.setTolerances(rtol=1.0e-12) +ksp.solve(right, solution) +residual = right.duplicate() +matrix.mult(solution, residual) +residual.axpy(-1.0, right) +final_residual = residual.norm() + +if rank == 0: + print( + json.dumps( + { + "mpi_vendor": MPI.get_vendor(), + "ranks": size, + "petsc_version": PETSc.Sys.getVersion(), + "scalar_type": str(PETSc.ScalarType), + "int_type": str(PETSc.IntType), + "matrix_assembly": "PASS", + "vector_assembly": "PASS", + "ksp_type": ksp.getType(), + "pc_type": ksp.getPC().getType(), + "iterations": ksp.getIterationNumber(), + "converged_reason": int(ksp.getConvergedReason()), + "final_residual": final_residual, + }, + sort_keys=True, + ), + flush=True, + ) diff --git a/qualification/0_2_8/wp13_01c_runtime_evidence.json b/qualification/0_2_8/wp13_01c_runtime_evidence.json new file mode 100644 index 00000000..93fd3aa9 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_evidence.json @@ -0,0 +1,99 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01C-MIXED-PETSC-RUNTIME-001", + "status": "BLOCKED_ENVIRONMENT", + "source": { + "start_sha": "b795cf70e5db2606e3092e7c4654d01df48ff085", + "baseline": "WP13-01B", + "runtime_claim": "none" + }, + "environment": { + "python": "3.13.1", + "petsc4py": null, + "petsc": "unavailable", + "mpi4py": "4.1.0", + "mpi": "Microsoft MPI 10.1.12498.52", + "available_ranks": "2 launcher ranks verified; PETSc ranks 0", + "host_rank_count": 1 + }, + "inputs": [ + { + "id": "mixed-small-reference", + "status": "PASS", + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "total_elements": 3, + "total_dof": 33, + "source": "scripts/run_wp07_mixed_static.py::_case(1)" + }, + { + "id": "runtime-dependency-probe", + "status": "BLOCKED_ENVIRONMENT", + "petsc4py_available": false, + "petsc_binary_wheel": "not available for this interpreter", + "source": "python import/pip binary-only probe" + } + ], + "commands": [ + "python -c \"from scripts.run_wp07_mixed_static import _case; ... _case(1), _case(2), _case(4)\"", + "mpiexec -n 2 python -c \"from mpi4py import MPI; ...\"", + "python -c \"import importlib.util; ... petsc4py=False\"", + "python -m pip install --dry-run --only-binary=:all: petsc4py", + "python -m pytest -q ", + "python -m ruff check ", + "python -m compileall -q " + ], + "outputs": [ + {"id": "serial-reference-small", "status": "PASS", "result": "segments 1/2/4 PASS; DOF 33/48/78; families TET4/WEDGE6/HEX8 present"}, + {"id": "mpi-launcher-smoke", "status": "PASS", "result": "rank=0/2; rank=1/2"}, + {"id": "petsc4py-probe", "status": "BLOCKED_ENVIRONMENT", "result": "petsc4py unavailable"}, + {"id": "petsc-binary-wheel-probe", "status": "BLOCKED_ENVIRONMENT", "result": "no matching binary distribution for current interpreter"}, + {"id": "targeted-tests", "status": "PASS", "result": "32 passed, 22 deselected in 4.73s"}, + {"id": "staged-runtime", "status": "NOT_RUN", "reason": "PETSc runtime dependency unavailable"} + ], + "metrics": { + "petsc4py": "UNAVAILABLE", + "petsc_version": "UNAVAILABLE", + "mpi4py": "4.1.0", + "mpi_runtime": "Microsoft MPI 10.1.12498.52", + "available_ranks": "2 launcher ranks verified; no PETSc rank available", + "petsc_1_rank": "BLOCKED_ENVIRONMENT", + "mpi_2_ranks": "BLOCKED_ENVIRONMENT", + "mpi_4_ranks": "NOT_RUN", + "small_reference": {"status": "PASS", "TET4": 1, "WEDGE6": 1, "HEX8": 1, "total_dof": 33}, + "partition_invariance": "NOT_RUN_RUNTIME", + "displacement_comparison": "NOT_RUN_RUNTIME", + "reaction_comparison": "NOT_RUN_RUNTIME", + "residual": "NOT_RUN_RUNTIME", + "equilibrium": "NOT_RUN_RUNTIME", + "energy": "NOT_RUN_RUNTIME", + "bc_distribution": "NOT_RUN_RUNTIME; architecture contract PASS", + "load_distribution": "NOT_RUN_RUNTIME; architecture contract PASS", + "reaction_reconstruction": "NOT_RUN_RUNTIME; architecture contract PASS", + "preallocation_runtime": "NOT_RUN_RUNTIME; architecture metadata PASS", + "global_gather_present": "NOT_ASSESSED_RUNTIME; generic architecture has no structural gather", + "memory_behavior": "NOT_RUN_RUNTIME", + "stage_a": {"dof": null, "status": "NOT_RUN_DEPENDENCY"}, + "stage_b": {"dof": null, "status": "NOT_RUN_DEPENDENCY"}, + "stage_c": {"dof": null, "status": "NOT_RUN_DEPENDENCY"}, + "largest_validated_runtime_dof": 0, + "numerical_source_changed": false, + "formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false + }, + "replays": [ + {"id": "mixed-petsc-replay-1", "status": "NOT_RUN", "reason": "PETSc unavailable"}, + {"id": "mixed-petsc-replay-2", "status": "NOT_RUN", "reason": "PETSc unavailable"} + ], + "digests": { + "contract": "2ec6a2e57c1058389752192df2eb6cb97dead09abf906ff618f79917c6bfd77c", + "inputs": "33327813a981373dcd7cef82216002b2ffad2ce588e2143d97a9a4d4294e996c", + "outputs": "793520a168ed4caf318c608266bb0dba443ddae5d03a5a8f35dc638a154a9b85", + "metrics": "1882ea4da7c36911cfbbf628d7b274988bf44c293fb493801bf283e3f007d3f2" + }, + "owner_decision": { + "status": "BLOCKED_ENVIRONMENT", + "decision": "BLOCKED_ENVIRONMENT", + "reason": "Architecture is ready, MPI launcher and mpi4py are available, but PETSc/petsc4py cannot be executed in the current environment without an unreasonable source reconstruction." + } +} diff --git a/qualification/0_2_8/wp13_01c_runtime_execution.json b/qualification/0_2_8/wp13_01c_runtime_execution.json new file mode 100644 index 00000000..bbd925c5 --- /dev/null +++ b/qualification/0_2_8/wp13_01c_runtime_execution.json @@ -0,0 +1,135 @@ +{ + "schema_version": 1, + "record_type": "WP13-01C-RUNTIME-EXECUTION", + "parent_contract": "qualification/0_2_8/wp13_01c_runtime_contract.json", + "source": { + "start_sha": "89c4bab9f0975f7dc5743e5756123bde59bf037f", + "runner_sha": "75a8f964427d09eba183ebbc82368b48ae30ec29", + "formulation_source_changed": false, + "historical_0_2_7_evidence_changed": false, + "maturity_changed": false + }, + "environment": { + "container_image": "qf-solver-large:0.2.0", + "container_digest": "sha256:9efd68c16474925744fabf507c9de6018b71738887921e27e53701bd22ae45de", + "python": "3.12.3", + "petsc4py": "3.25.1", + "petsc": "3.25.1", + "mpi4py": "4.1.2", + "mpi": "MPICH 5.0.1", + "launcher": "mpiexec", + "available_ranks": [1, 2, 4] + }, + "predeclared_gates": { + "unchanged": true, + "displacement_relative_l2": 1.0e-10, + "reaction_relative_l2": 1.0e-10, + "free_residual_relative_l2": 1.0e-10, + "equilibrium_relative": 1.0e-10, + "energy_relative": 1.0e-10, + "replay_digest_difference": 0 + }, + "small_case": { + "status": "PASS", + "dof": 33, + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "serial": { + "status": "PASS", + "runtime_seconds": 0.013338744000066072, + "iterations": "direct", + "free_residual_relative": 1.2230794959180354e-16, + "equilibrium_relative": 1.3737395435328754e-16, + "energy_identity_relative": 5.551115123125783e-17 + }, + "petsc_1_rank": { + "status": "PASS", + "runtime_seconds": 0.014083778999975038, + "iterations": 1, + "free_residual_relative": 4.1706664646925014e-17, + "equilibrium_relative": 1.544284881377707e-17, + "energy_identity_relative": 0.0, + "ghost_nodes": 0 + }, + "mpi_2_ranks": { + "status": "PASS", + "runtime_seconds": 0.04595591800011789, + "iterations": 1, + "free_residual_relative": 9.691753056203893e-17, + "equilibrium_relative": 1.3035264684047955e-16, + "energy_identity_relative": 0.0, + "ghost_nodes": 4 + }, + "mpi_4_ranks": { + "status": "PASS", + "runtime_seconds": 0.04378021299999091, + "iterations": 1, + "free_residual_relative": 1.4265874227982477e-16, + "equilibrium_relative": 3.937169372345623e-17, + "energy_identity_relative": 5.551115123125783e-17, + "ghost_nodes": 7 + }, + "serial_comparison_max": { + "displacement_relative_l2": 5.003184315091735e-16, + "reaction_relative_l2": 1.7815067499676875e-16, + "partition_invariance": "PASS" + } + }, + "stage_a": { + "status": "FAIL_GATE", + "dof": 49998, + "ranks": 2, + "element_counts": {"TET4": 1, "WEDGE6": 3332, "HEX8": 3332}, + "runtime_seconds": 9.600869921999902, + "iterations": 1, + "free_residual_relative": 2.6397081880474557e-11, + "equilibrium_relative": 6.794908928102695e-10, + "energy_identity_relative": 2.1116441928370477e-13, + "peak_memory_mb_max_rank": 236.97265625, + "preallocation": "exact_connectivity_pattern_declared; MatGetInfo malloc counter unavailable in this MPI image", + "failure": "equilibrium_relative 6.794908928102695e-10 exceeds predeclared 1.0e-10 gate" + }, + "stage_b": {"dof": null, "status": "NOT_RUN_STAGE_A_GATE_FAILED"}, + "stage_c": {"dof": null, "status": "NOT_RUN_STAGE_A_GATE_FAILED"}, + "replays": { + "case": "small", + "ranks": 4, + "count": 2, + "physical_status": "PASS_WITHIN_PREDECLARED_GATES", + "raw_bitwise_digest_equal": false, + "max_displacement_absolute_difference": 5.561777322626824e-22, + "displacement_relative_difference": 1.0322631711803803e-21, + "reaction_relative_difference": 1.157250766984817e-16, + "residual_relative_difference": 2.262689465171461e-16, + "energy_absolute_difference": 5.551115123125783e-17, + "status": "FAIL_BITWISE_DIGEST_GATE" + }, + "runtime_observations": { + "mixed_dispatch": "PASS", + "distributed_assembly": "PASS", + "bc_distribution": "PASS_SMALL", + "load_distribution": "PASS_SMALL", + "reaction_reconstruction": "PASS_SMALL; stage A physical equilibrium gate failed", + "structural_global_gather": "NOT_PRESENT", + "result_only_solution_scatter": "PRESENT_FOR_REACTION_POSTPROCESSING", + "matrix_malloc_counter": "NOT_CAPTURED_DUE_TO_MPI_ABI_MATGETINFO_FAILURE", + "memory": "captured as max RSS per rank" + }, + "commands": [ + "docker run qf-solver-large:0.2.0 python3 scripts/run_wp13_01c_runtime.py --case small --backend serial", + "docker run qf-solver-large:0.2.0 python3 scripts/run_wp13_01c_runtime.py --case small --backend petsc --pc-type lu", + "docker run qf-solver-large:0.2.0 mpiexec -n 2 python3 scripts/run_wp13_01c_runtime.py --case small --backend petsc --pc-type lu", + "docker run qf-solver-large:0.2.0 mpiexec -n 4 python3 scripts/run_wp13_01c_runtime.py --case small --backend petsc --pc-type lu", + "docker run qf-solver-large:0.2.0 mpiexec -n 2 python3 scripts/run_wp13_01c_runtime.py --case stage-a --backend petsc --pc-type lu" + ], + "decision": { + "status": "FAIL_RUNTIME", + "largest_validated_dof": 33, + "largest_validated_ranks": 4, + "stage_b_c_blocked_by": "stage A equilibrium gate", + "blockers": [ + "The required ~50k-150k DOF stage does not satisfy the fixed equilibrium gate.", + "The two 4-rank replays are numerically equivalent within gates but not bitwise digest-identical.", + "PETSc MatGetInfo malloc counters are unavailable in the pinned image MPI ABI; no zero-reallocation claim is made." + ] + } +} diff --git a/qualification/0_2_8/wp13_01d_runtime_diagnosis.json b/qualification/0_2_8/wp13_01d_runtime_diagnosis.json new file mode 100644 index 00000000..2bfd9407 --- /dev/null +++ b/qualification/0_2_8/wp13_01d_runtime_diagnosis.json @@ -0,0 +1,163 @@ +{ + "schema_version": 1, + "record_type": "WP13-01D-RUNTIME-DIAGNOSIS", + "parent_contract": "qualification/0_2_8/wp13_01c_runtime_contract.json", + "historical_execution": { + "path": "qualification/0_2_8/wp13_01c_runtime_execution.json", + "git_blob_sha1": "bbd925c5ddb372b8f8c967c4d9aea8bc767da0af", + "modified": false + }, + "source": { + "start_sha": "c1aec7668a4e7586db0b4e70899c45164f1d942d", + "numerical_source_changed": false, + "formulation_changed": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false + }, + "predeclared_gates": { + "unchanged": true, + "equilibrium_relative": 1e-10, + "replay_digest_difference": 0 + }, + "environment": { + "container_image": "qf-solver-large:0.2.0", + "petsc": "3.25.1", + "petsc4py": "3.25.1", + "mpi4py": "4.1.2", + "mpi": "MPICH 5.0.1", + "launcher": "mpiexec" + }, + "equilibrium_diagnosis": { + "classification": "FLOATING_POINT_ACCUMULATION", + "ruled_out": [ + "LOAD_REDUCTION", + "REACTION_RECONSTRUCTION", + "MPI_REDUCTION_ORDER", + "BC_REDUCTION" + ], + "before": 6.794908928102695e-10, + "after_default_direct_lu": 6.794908928102695e-10, + "gate": 1e-10, + "stage_a": { + "dof": 49998, + "ranks": 2, + "segments": 3332, + "layer_thickness": 0.00030012004801920766, + "cross_layer_aspect_ratio": 3332.0, + "external_load_resultant": [100000.0, 0.0, 0.0], + "rank_external_load_resultants": [[0.0, 0.0, 0.0], [100000.0, 0.0, 0.0]], + "rank_fixed_reaction_resultants": [ + [-1029.130323498834, -6984.4465782225225, 17297.889762635004], + [-98970.86967597448, 6984.446578314168, -17297.889830581993] + ], + "mpi_allreduce_resultant": [-99999.99999947332, 9.164523362414911e-08, -6.794698629164486e-05], + "rank_ordered_fsum_resultant": [-99999.99999947332, 9.164523362414911e-08, -6.794698629164486e-05], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0 + }, + "solver_tolerance_effect": { + "direct_lu_two_residual_refinements": { + "free_residual_relative": 2.639708188047455e-11, + "equilibrium_relative": 6.794908928102695e-10 + }, + "direct_lu_six_residual_refinements": { + "free_residual_relative": 2.611166429459929e-11, + "equilibrium_relative": 6.832438910963094e-10 + }, + "cholesky_no_residual_refinement": { + "free_residual_relative": 7.965370733393215e-11, + "equilibrium_relative": 4.876910718261201e-10 + }, + "conclusion": "No tested solver-only remediation reaches the frozen equilibrium gate." + }, + "conclusion": "The highly anisotropic fixed Stage-A mesh produces cancellation of large transverse internal reactions. Accurate local and rank-ordered summation does not recover the required digits; changing the frozen benchmark or gate is out of scope." + }, + "replay_diagnosis": { + "classification": "PETSC_PARALLEL_FACTORIZATION_OR_REDUCTION_ORDER", + "contract": "Raw float64 SHA-256 equality remains required by the unchanged WP13-01C contract.", + "historical_wp13_01c": { + "case": "small", + "ranks": 4, + "raw_bitwise_digest_equal": false, + "numerical_gates": "PASS" + }, + "wp13_01d_observations": { + "stage_a_initial_pair": { + "ranks": 2, + "raw_bitwise_digest_equal": false, + "first_displacement_digest": "4e4aa526aa8e25c883ca1af28da4bbec7bc0736c8b1c67c56949ff5c04f54ded", + "second_displacement_digest": "a6a7a907b0bb6e1461aa3e81ce96b12d39c2f4d22985aea22be8925994ebe0c1" + }, + "stage_a_vector_captured_pair": { + "ranks": 2, + "raw_bitwise_digest_equal": true, + "displacement_relative_l2": 0.0, + "displacement_max_absolute": 0.0, + "reaction_relative_l2": 0.0, + "reaction_max_absolute": 0.0, + "residual_relative_l2": 0.0, + "residual_max_absolute": 0.0 + }, + "small_pair": { + "ranks": 4, + "raw_bitwise_digest_equal": true + } + }, + "numerical_determinism": "PASS_FOR_CAPTURED_STAGE_A_PAIR", + "bitwise_determinism": "INTERMITTENT_NOT_PORTABLY_ESTABLISHED", + "contract_compliance": "FAIL_FROZEN_RAW_DIGEST_GATE; numerical equivalence cannot replace the predeclared raw-digest requirement in this work package.", + "required_to_close": "A separately predeclared reproducible-MPI contract and a demonstrated deterministic PETSc/factorization configuration, or an owner-approved contract change." + }, + "matgetinfo_diagnosis": { + "classification": "PETSC_GLOBAL_MATGETINFO_MPICH_ABI_PATH", + "gate_classification": "DIAGNOSTIC_ONLY", + "global_query": "NOT_USED_AFTER_PRIOR_MPI_FAILURE", + "remediation": "PETSc.Mat.InfoType.LOCAL on every rank followed by explicit mpi4py scalar aggregation.", + "stage_a": { + "mallocs_by_rank": [0.0, 0.0], + "mallocs_sum": 0.0, + "nz_used_by_rank": [974907.0, 914589.0], + "nz_allocated_by_rank": [974907.0, 914589.0] + }, + "status": "PASS_CAPTURED_WITH_LOCAL_QUERY" + }, + "targeted_rerun": { + "small_case": { + "dof": 33, + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "serial": "PASS", + "petsc_1_rank": "PASS", + "mpi_2_ranks": "PASS", + "mpi_4_ranks": "PASS" + }, + "stage_a": { + "status": "FAIL_KEEP_STAGE_A_BLOCKED", + "dof": 49998, + "ranks": 2, + "runtime_seconds_range": [8.418933408000157, 8.971568445999765], + "peak_memory_mb_range": [236.36328125, 237.20703125], + "free_residual_relative": 2.639708188047455e-11, + "equilibrium_relative": 6.794908928102695e-10, + "energy_identity_relative": 2.1116441928370477e-13, + "reactions": "PASS_RECONSTRUCTION_AND_LOAD_CONSERVATION; FAIL_GLOBAL_EQUILIBRIUM_GATE" + }, + "stage_b": "NOT_RUN_STAGE_A_NOT_CLOSED", + "stage_c": "NOT_RUN_STAGE_A_NOT_CLOSED" + }, + "validation": { + "targeted_runtime": "small serial/PETSc-1/MPI-2/MPI-4; Stage-A MPI-2; two Stage-A replays; MatGetInfo local probe", + "targeted_tests": "9 passed: tests/unit/test_wp13_01b_generic_distributed.py tests/verification/test_028_wp07_mixed_static.py", + "ruff": "PASS: python -m ruff check scripts/run_wp13_01c_runtime.py", + "compileall": "PASS: python -m compileall -q scripts/run_wp13_01c_runtime.py", + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + }, + "decision": { + "status": "FAIL_KEEP_STAGE_A_BLOCKED", + "ready_for_stage_b_300k": false, + "ready_for_stage_c_1m": false, + "blockers": [ + "Stage-A equilibrium remains above the unchanged 1e-10 gate.", + "The frozen raw-digest replay gate is not portably demonstrated; the historical and an initial WP13-01D replay pair remain non-bitwise." + ], + "recommended_next_step": "Owner decision: preserve the frozen Stage-A result and either retire/redesign this runtime benchmark in a separately predeclared work package, or provide a separately predeclared deterministic-MPI contract. Do not advance to Stage B or C." + } +} diff --git a/qualification/0_2_8/wp13_01e_owner_gate.json b/qualification/0_2_8/wp13_01e_owner_gate.json new file mode 100644 index 00000000..fcbe2a73 --- /dev/null +++ b/qualification/0_2_8/wp13_01e_owner_gate.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01E-OWNER-GATE", + "work_package": "WP13-01E", + "audited_commit": "9d578c71587fcc899aaa761fe9c57d6027ac013b", + "status": "CLOSED_APPROVE_NEW_BENCHMARK_AND_RUNTIME_CONTRACT", + "authorization": { + "source": "Explicit project-owner instruction in the associated task.", + "owner_identity": null, + "identity_note": "No personal identity or signature is inferred by this record." + }, + "historical_integrity": { + "wp13_01c_contract": {"path": "qualification/0_2_8/wp13_01c_runtime_contract.json", "git_blob_sha1": "e65b7bcb48a882e99ebb31615e8aa10d110cb655", "preserved": true}, + "wp13_01c_execution": {"path": "qualification/0_2_8/wp13_01c_runtime_execution.json", "git_blob_sha1": "bbd925c5ddb372b8f8c967c4d9aea8bc767da0af", "preserved": true}, + "wp13_01d_diagnosis": {"path": "qualification/0_2_8/wp13_01d_runtime_diagnosis.json", "git_blob_sha1": "2bfd940741dbf92ab408ba4e17806ede149e834a", "preserved": true}, + "wp13_01c_status": "FAIL_RUNTIME preserved", + "historical_stage_a_equilibrium": "FAIL_GATE preserved: 6.794908928102695e-10 > 1e-10", + "historical_raw_bitwise_replay": "FAIL_BITWISE_DIGEST_GATE preserved", + "historical_0_2_7_evidence_changed": false + }, + "equilibrium_audit": { + "assessment": "BENCHMARK_DEPENDENT; PHYSICALLY_WELL_POSED_IN_PRINCIPLE; NUMERICALLY_OVERSTRICT_FOR_THE_ANISOTROPIC_WP13-01C_STAGE_A_WORKLOAD", + "physical_interpretation": "The 6.794908928102695e-10 relative imbalance is not evidence of a load, BC, reaction-reconstruction or MPI-reduction defect. It is the residual of cancelling transverse reactions after an extreme 3332:1 layer aspect ratio, with a free residual and energy identity already within their frozen gates.", + "evidence": { + "external_load_resultant": [100000.0, 0.0, 0.0], + "reaction_resultant": [-99999.99999947332, 9.164523362414911e-08, -6.794698629164486e-05], + "mpi_allreduce_vs_ordered_fsum_max_abs": 0.0, + "free_residual_relative": 2.639708188047455e-11, + "energy_identity_relative": 2.1116441928370477e-13, + "best_alternate_equilibrium": 4.876910718261201e-10 + }, + "owner_conclusion": "Do not change the historical gate. Retain 1e-10 in the new contract, but apply it to a unit-scale benchmark that does not manufacture the diagnosed cancellation." + }, + "replay_audit": { + "decision": "USE_NUMERICAL_DETERMINISM_FOR_MPI", + "raw_bitwise_identity_required": false, + "rationale": "Raw float64 bytes are sensitive to legitimate PETSc/MPI reduction and factorization order. The old failure is preserved; a forward-only contract must instead prove bounded numerical equivalence, solver convergence and stable partition/input identity.", + "anti_masking_policy": "Raw digests remain recorded, and numerical vector gates are independently enforced. A normalized digest is diagnostic only and cannot substitute for vector comparisons." + }, + "decision": { + "owner_decision": "APPROVE_NEW_BENCHMARK_AND_RUNTIME_CONTRACT", + "new_contract": "qualification/0_2_8/wp13_01f_mixed_petsc_runtime_contract.json", + "new_contract_id": "WP13-01F-MIXED-PETSC-RUNTIME-002", + "authorization_boundary": "The approval authorizes only a future WP13-01F campaign under its frozen benchmark and gates. It authorizes no runtime execution, Stage B/Stage C execution, maturity change, claim expansion or historical-record edit in WP13-01E." + }, + "integrity": { + "gates_retroactively_changed": false, + "claims_bounded": true, + "numerical_source_changed": false, + "formulation_changed": false, + "maturity_changed": false, + "evidence_integrity": "PASS" + }, + "validation": { + "required": ["JSON parse", "historical record hash check", "no diff under qualification/0_2_7"], + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + }, + "next_step": "WP13-01F — NEW DISTRIBUTED RUNTIME CAMPAIGN. Execute no stage until the frozen contract's geometry-manifest and control gates are implemented and verified." +} diff --git a/qualification/0_2_8/wp13_01f_mixed_petsc_runtime_contract.json b/qualification/0_2_8/wp13_01f_mixed_petsc_runtime_contract.json new file mode 100644 index 00000000..bb14d280 --- /dev/null +++ b/qualification/0_2_8/wp13_01f_mixed_petsc_runtime_contract.json @@ -0,0 +1,117 @@ +{ + "schema_version": 1, + "contract_id": "WP13-01F-MIXED-PETSC-RUNTIME-002", + "work_package": "WP13-01F", + "status": "PREDECLARED_OWNER_AUTHORIZED_NOT_EXECUTED", + "creation_sha": "9d578c71587fcc899aaa761fe9c57d6027ac013b", + "rationale": "This is a new, forward-only distributed-runtime contract. It does not supersede, amend or pass the failed WP13-01C contract or execution.", + "historical_records_preserved": [ + "qualification/0_2_8/wp13_01c_runtime_contract.json", + "qualification/0_2_8/wp13_01c_runtime_execution.json", + "qualification/0_2_8/wp13_01d_runtime_diagnosis.json" + ], + "scope": { + "capability": "bounded PETSc/MPI assembly, solve, partition-invariance and replay evidence for a family-balanced mixed linear-static component bundle", + "analysis": "linear_static only", + "element_families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": "conforming shared-node triangular TET4/WEDGE6 and quadrilateral WEDGE6/HEX8 interfaces only", + "materials": "homogeneous small-strain isotropic elasticity", + "ranks": [1, 2, 4], + "claim": "bounded runtime evidence only for configurations actually executed; no arbitrary connected-structure, general performance, modal, dynamic, nonlinear, contact, nonconforming, multi-material or production claim" + }, + "benchmark": { + "id": "WP13-01F-FAMILY-MAJOR-MIXED-BUNDLE-001", + "source_template": "scripts/run_wp11_mixed_large.py::_make_model", + "selection_before_execution": true, + "topology": "A bundle of repeated, physically bounded 11-node conforming mixed components. Each component contains exactly one TET4, one WEDGE6 and one HEX8, one triangular and one quadrilateral mixed interface, seven fully fixed nodes and two Z loads of -0.5 N.", + "geometry": { + "component_coordinates": "The exact unit-scale coordinates and connectivity are those in scripts/run_wp11_mixed_large.py::_make_model; component c is translated by (0, 3*c, 0).", + "element_scale": "No coordinate is divided by the number of components; every component retains the unit template dimensions.", + "shape_requirement": "Positive-Jacobian unit template only; no scale-dependent thin-layer geometry is permitted.", + "components_are_mechanically_disconnected": true, + "why_this_is_acceptable": "The claim is restricted to distributed mixed runtime plumbing. Family-major ordering forces a declared fraction of actual TET4/WEDGE6 and WEDGE6/HEX8 interfaces across rank boundaries, while the small connected WP13-01C control remains required." + }, + "partition_stress_order": { + "element_order": "all TET4 records by increasing component index, then all WEDGE6 records, then all HEX8 records; node numbering, connectivity, loads and fixed DOFs remain unchanged", + "partitioner": "existing deterministic contiguous generic partitioner", + "required_cross_rank_interface_fraction": { + "mpi_2": {"tet4_wedge6_min": 0.49, "wedge6_hex8_min": 0.49}, + "mpi_4": {"tet4_wedge6_min": 0.99, "wedge6_hex8_min": 0.99} + }, + "required_rank_content": "Every active rank must own at least one element and report its local family counts; all global family counts must be exact." + }, + "material": {"type": "isotropic_3d", "E": 210000000000.0, "nu": 0.3, "density": 7800.0}, + "boundary_conditions": "For each component, UX/UY/UZ are fixed at local nodes 0, 2, 3, 5, 6, 7 and 9.", + "loads": "For each component, apply UZ=-0.5 N at local nodes 4 and 10; the total applied Z load is -1 N per component.", + "stages": { + "control": {"components": 2, "dof": 66, "elements_by_family": {"TET4": 2, "WEDGE6": 2, "HEX8": 2}}, + "stage_a": {"components": 3031, "dof": 100023, "elements_by_family": {"TET4": 3031, "WEDGE6": 3031, "HEX8": 3031}}, + "stage_b": {"components": 9091, "dof": 300003, "elements_by_family": {"TET4": 9091, "WEDGE6": 9091, "HEX8": 9091}}, + "stage_c": {"components": 30303, "dof": 999999, "elements_by_family": {"TET4": 30303, "WEDGE6": 30303, "HEX8": 30303}, "status": "OPTIONAL_RESOURCE_GATED"} + } + }, + "oracles_and_comparisons": { + "control_oracle": "Existing serial GlobalAssembler mixed workflow on the identical 66-DOF input, compared to PETSc 1/2/4 ranks.", + "partition_oracle": "PETSc one-rank result on the exact same stage input, compared with PETSc MPI two and four rank results.", + "independence_limit": "This is a runtime-contract campaign, not an external FEM accuracy correlation. WP07 remains the bounded mixed static correctness evidence." + }, + "predeclared_metrics_and_gates": { + "force_balance": { + "formula": "F_ext = sum(applied nodal load vectors); R = sum(reconstructed constrained reaction vectors); F_ref = max(norm_2(F_ext), 1 N); e_force = norm_2(R + F_ext) / F_ref; e_component = max_i(abs(R_i + F_ext_i)) / F_ref.", + "gate": "e_force <= 1e-10 AND e_component <= 1e-10", + "rationale": "The original relative force scale is retained rather than loosened. The additional component-wise value makes transverse closure explicit and prevents cancellation in a vector-only summary." + }, + "free_residual_relative": {"formula": "norm_2(r_free) / max(norm_2(f_free), 1)", "gate": "<= 1e-10"}, + "energy_identity_relative": {"formula": "abs(2*U - u^T*f) / max(abs(u^T*f), 1)", "gate": "<= 1e-10"}, + "partition_invariance": { + "metrics": ["displacement_relative_l2", "reaction_relative_l2", "family_counts", "global_dof_count", "cross_rank_interface_fraction"], + "gates": "PETSc 1 versus MPI 2 and MPI 4: displacement_relative_l2 <= 1e-10, reaction_relative_l2 <= 1e-10, exact counts/DOF, and declared cross-rank interface fractions met." + }, + "preallocation_and_memory": { + "metrics": ["per-rank PETSc.Mat.InfoType.LOCAL mallocs", "local/global nnz", "max RSS per rank", "runtime", "ghost counts", "structural global gather"], + "gate": "No structural gather of K, connectivity or element fields; allocator counters, runtime and memory are recorded, not tuned as numerical pass/fail thresholds." + } + }, + "replay_contract": { + "policy": "USE_NUMERICAL_DETERMINISM_FOR_MPI", + "raw_bitwise_digest": "Recorded as diagnostic evidence only; it is not a pass/fail criterion because PETSc/MPI reductions and parallel factorizations do not provide a portable byte-ordering guarantee.", + "replays_required": 2, + "same_environment_and_input_required": true, + "gates": { + "same_input_digest": true, + "same_partition_digest": true, + "same_solver_convergence_status": true, + "iteration_difference": "0 for direct/preonly; <= 1 for iterative solvers", + "displacement_relative_l2": "<= 1e-12 using max(norm_2(reference), 1) denominator", + "reaction_relative_l2": "<= 1e-12 using max(norm_2(reference), 1) denominator", + "free_residual_relative_difference": "<= 1e-12", + "energy_relative_difference": "<= 1e-12" + }, + "normalized_physics_digest": "Record a diagnostic digest after each vector is scaled by max(norm_inf(vector), 1e-30) and rounded to 12 decimal places. It does not replace the numerical vector gates." + }, + "required_execution_order": [ + "Validate the new geometry manifest, positive Jacobians, exact counts and interface classification before PETSc execution.", + "Run the 66-DOF serial/PETSc-1/MPI-2/MPI-4 control and partition comparisons.", + "Run Stage A on at least MPI 2 after all control gates pass.", + "Run two Stage-A replays before considering Stage B.", + "Run Stage B only after Stage A passes every gate.", + "Run Stage C only if Stage B passes and resources permit." + ], + "abort_criteria": [ + "Any historical WP13-01C or WP13-01D record is altered or reclassified.", + "Any TET4, WEDGE6 or HEX8 family is absent, duplicated, or silently falls back to SciPy.", + "The geometry is not the frozen unit-scale WP11 template or does not meet its declared family/interface counts.", + "The family-major partition stress order or its cross-rank interface fractions is not achieved.", + "BC, loads, reactions, ownership, ghosts or global equilibrium fail their predeclared gates.", + "A structural global gather of K, connectivity or element fields is required.", + "Two replays fail the numerical-determinism contract.", + "Stage A fails; Stage B and Stage C must then remain unexecuted." + ], + "non_goals": [ + "No claim that disconnected components demonstrate arbitrary connected-structure scalability.", + "No numerical formulation, element, maturity or 0.2.7 evidence change.", + "No modal, Newmark, harmonic, nonlinear, contact, GPU, external-correlation or release claim.", + "No retroactive pass or gate change for WP13-01C." + ], + "owner_gate": {"required_after_execution": true, "allowed_decisions": ["PASS_1M", "PASS_SUBMILLION", "FAIL_RUNTIME", "BLOCKED_ENVIRONMENT"]} +} diff --git a/qualification/0_2_8/wp13_01g_connected_mixed_contract.json b/qualification/0_2_8/wp13_01g_connected_mixed_contract.json new file mode 100644 index 00000000..d5271e29 --- /dev/null +++ b/qualification/0_2_8/wp13_01g_connected_mixed_contract.json @@ -0,0 +1,119 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01G-CONNECTED-MIXED-PETSC-001", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "work_package": "WP13-01G", + "applicable_version": "0.2.8-development", + "creation_sha": "c06838b909e1586ef776ce6ac986488965bbb8bb", + "status": "PREDECLARED_CAMPAIGN_CONTRACT", + "objective": "Confirm the distributed PETSc/MPI linear-static runtime on one mechanically connected TET4/WEDGE6/HEX8 chain without changing any FEM formulation or replacing prior WP13-01C/C2 evidence.", + "scope": { + "analysis": "linear_static", + "backend": "PETSc/MPI", + "element_families": ["TET4", "WEDGE6", "HEX8"], + "interfaces": [ + "conforming shared triangular TET4-WEDGE6 interface", + "conforming shared quadrilateral WEDGE6-HEX8 interface", + "conforming shared triangular/quadrilateral interfaces between repeated axial cells" + ], + "kinematics": "small-strain linear isotropic elasticity", + "material": { + "name": "solid", + "type": "isotropic_3d", + "E": 210000000000.0, + "nu": 0.3, + "density": 7800.0 + }, + "connected_components": 1, + "excluded": [ + "disconnected component bundles", + "block-diagonal synthetic scaling claims", + "modal, Newmark and harmonic analysis", + "nonlinear, contact and multipoint constraints", + "hanging or nonconforming interfaces", + "TET10, HEX20 and PYRAMID5", + "arbitrary industrial-model or production-performance claims" + ] + }, + "benchmark": { + "id": "WP13-01G-CONNECTED-AXIAL-CHAIN-001", + "geometry": "One axial connected chain generated from the existing WP13 mixed geometry: a TET4 cap shares the first WEDGE6 triangular face; each WEDGE6 shares its longitudinal quadrilateral face with the corresponding HEX8; consecutive WEDGE6 and HEX8 cells share their end faces.", + "generation": "The connected chain uses segments s with 5*s+6 nodes and 15*s+18 translational DOF. The TET4 count is 1, and WEDGE6 and HEX8 counts are s each.", + "stages": { + "control": {"segments": 1, "target_dof": 33}, + "stage_a": {"segments": 3332, "target_dof": 49998}, + "stage_b": {"segments": 9999, "target_dof": 150003}, + "stage_c": {"segments": 19999, "target_dof": 300003} + }, + "boundary_conditions": "All translational DOFs on nodes with x=0 are fixed.", + "loads": "A total +100000 N UX nodal load is distributed equally over nodes with x=1 and z=1.", + "mechanical_load_path": "The loaded x=1 end transfers stiffness through the HEX8 strip and WEDGE6 chain, through their shared quadrilateral interfaces and the WEDGE6 end faces, into the TET4 cap at the chain base and the fixed x=0 boundary.", + "partitioning": "Existing deterministic contiguous element ownership from GenericDistributedModel; compare serial/PETSc-1/MPI-2/MPI-4 where available.", + "postprocessing": "Result-only displacement/reaction exchanges are allowed; structural K, connectivity and element-field gathers are not allowed." + }, + "predeclared_gates": { + "fixed_before_execution": true, + "post_observation_retuning": false, + "free_residual_relative": {"operator": "<=", "value": 1.0e-10}, + "equilibrium_force_relative": {"operator": "<=", "value": 1.0e-10}, + "equilibrium_component_relative": {"operator": "<=", "value": 1.0e-10}, + "energy_identity_relative": {"operator": "<=", "value": 1.0e-10}, + "partition_displacement_relative_l2": {"operator": "<=", "value": 1.0e-10}, + "partition_reaction_relative_l2": {"operator": "<=", "value": 1.0e-10}, + "partition_energy_relative": {"operator": "<=", "value": 1.0e-10}, + "partition_residual_difference": {"operator": "<=", "value": 1.0e-10}, + "replay_displacement_relative_l2": {"operator": "<=", "value": 1.0e-12}, + "replay_reaction_relative_l2": {"operator": "<=", "value": 1.0e-12}, + "replay_energy_relative": {"operator": "<=", "value": 1.0e-12}, + "replay_residual_difference": {"operator": "<=", "value": 1.0e-12}, + "replay_iterations": "identical for direct solve, or absolute delta <= 1 for iterative solve", + "interface_displacement_continuity": "shared-node DOFs are unique and have no duplicate interface assembly", + "interface_load_transfer": "all family interfaces have nonzero connected ownership/path evidence and no lost contribution", + "connected_component_count": {"operator": "==", "value": 1}, + "family_presence": "TET4, WEDGE6 and HEX8 each contribute at least one element to the same connected component", + "preallocation": "exact row pattern for the declared connectivity; reallocations recorded and must be zero", + "global_gather": "no structural global gather of K, connectivity or element fields", + "determinism": "numerical determinism, not raw bitwise identity across MPI runs" + }, + "required_runs": { + "control": ["serial", "PETSc-1", "MPI-2", "MPI-4 if available"], + "stage_a": ["MPI-2", "MPI-4 if available"], + "stage_b": ["MPI-2", "MPI-4 if available"], + "stage_c": ["MPI-2", "MPI-4 if reasonably available"], + "partition_invariance": "control and Stage A at minimum; 4-rank comparison when available", + "replays": "two replays on the largest validated connected stage" + }, + "evidence_required": [ + "exact DOF and TET4/WEDGE6/HEX8 counts", + "connected component and mechanical load-path proof", + "shared-node interface, ownership and ghost metadata", + "displacements, reactions, residual, equilibrium and energy", + "partition invariance and numerical replay comparisons", + "runtime, peak memory, iterations, preallocation and reallocations", + "explicit absence of structural global gather", + "serial/PETSc/MPI coherence for the control" + ], + "abort_criteria": [ + "control case fails any frozen physical or interface gate", + "any stage fails a frozen gate", + "element family is present only in counts and not in the connected load path", + "connected_component_count is not exactly one", + "lost or duplicated shared-node/interface contribution", + "silent fallback to SciPy or another non-PETSc backend", + "structural global gather or incompatible global duplication is observed", + "environment cannot execute the required PETSc/MPI run" + ], + "claim_policy": { + "maximum_if_all_stages_pass": "Bounded connected mixed PETSc/MPI linear-static runtime evidence through approximately 300k DOF for the declared axial-chain topology and tested ranks.", + "not_allowed": "No arbitrary connected mixed-model support, industrial scalability, production-performance or general 1M connected claim.", + "owner_gate_required": true, + "prior_evidence_policy": "WP13-01C FAIL_RUNTIME, WP13-01D diagnosis, WP13-01E decision and WP13-01C2 plumbing-only evidence remain immutable historical records." + }, + "integrity": { + "numerical_source_changed": false, + "formulation_changed": false, + "maturity_changed": false, + "evidence_0_2_7_changed": false, + "contract_change_after_first_result": false + } +} diff --git a/qualification/0_2_8/wp13_01g_runtime/control_mpi1.json b/qualification/0_2_8/wp13_01g_runtime/control_mpi1.json new file mode 100644 index 00000000..a98a8483 --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/control_mpi1.json @@ -0,0 +1,365 @@ +{ + "backend": "petsc", + "case": "control", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "petsc", + "case": "control", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.3927663380442108e-07, + 1.3390936541895635e-07, + -2.896831766068849e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.581900805034393e-07, + -7.767206947963247e-08, + -4.406110133448853e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.504569520908403e-07, + 8.05781673646198e-08, + -5.080618181409766e-07, + 0.0, + 0.0, + 0.0, + 1.3449055591023364e-06, + 2.932094907899061e-07, + -6.960347192571711e-07 + ], + "displacement_digest": "8e0785380e230c33dcbe76dcec46b88dc6b78ed584797d71ee10ba4542fe4d5d", + "displacement_norm": 1.8438112835354805e-06, + "element_count": 3, + "energy": 0.047577390990144394, + "energy_identity_relative": 0.0, + "equilibrium_relative": 1.1073821644355049e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 2.4642523555644445e-16, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": true, + "equilibrium_force": true, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes_global_sum": 0, + "ghost_nodes_local": 0, + "global_gather_present": false, + "internal_force_norm": 100404.80232001063, + "iterations": 1, + "linear_solves": 3, + "load_diagnostics": { + "rank_external_load_resultants": [ + [ + 100000.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0 + ], + "local_family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "local_ghost_nodes": 0, + "local_owned_nodes": 11, + "matrix_nnz": null, + "model_digest": "b000088da27b15f3895fbe9518ad92c520b819a430c5470839eb1577f4506912", + "ndof": 33, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 0, + "WEDGE6_HEX8": 0 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_nodes": 0, + "interface_nodes": 0, + "neighbors": [], + "owned_elements": [ + 0, + 1, + 2 + ], + "owned_nodes": 11, + "rank": 0 + } + ], + "partition_digest": "4fee8821513cbc05b92dbf5630786f68b3e3481d208c6980fb1e300814ae7686", + "rank_count": 1, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + } + }, + "peak_memory_mb": 89.62109375, + "preallocation": { + "diag_nnz_sum": 819, + "matgetinfo": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 819.0, + "nz_unneeded": 0.0, + "nz_used": 819.0 + } + ], + "global_petsc_query": "NOT_USED_MPICH_ABI_UNRELIABLE", + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0, + "query": "PETSc.Mat.InfoType.LOCAL per rank; mpi4py aggregation" + }, + "offdiag_nnz_sum": 0, + "strategy": "global_connectivity_exact_for_PETSc_owned_rows" + }, + "rank_count": 1, + "reaction_diagnostics": { + "mpi_allreduce_resultant": [ + -100000.0, + -3.637978807091713e-12, + 1.0459189070388675e-11 + ], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0, + "rank_fixed_reaction_resultants": [ + [ + -100000.0, + -3.637978807091713e-12, + 1.0459189070388675e-11 + ] + ], + "rank_ordered_fsum_resultant": [ + -100000.0, + -3.637978807091713e-12, + 1.0459189070388675e-11 + ] + }, + "reaction_digest": "b83c4800360669ce2e462aac906757afd0e846c5144471c1f325863bfbd7fdc9", + "reaction_norm": 71282.00564602831, + "reaction_resultant": [ + -100000.0, + -3.637978807091713e-12, + 1.0459189070388675e-11 + ], + "reaction_vector": [ + -5171.901636892679, + -1749.222046139018, + -1994.910928527746, + 5650.657283613682, + -800.7981135610744, + -3875.764648643566, + -54604.05329933689, + 5022.395254820263, + 11619.168365183488, + -2712.470427275999, + 7629.143968972824, + 1027.5530250087168, + 3899.58122355422, + 0.0, + 2812.316644127733, + -8277.918093829448, + -4190.130673813686, + -11758.154163760326, + -38783.89504983288, + -5911.388390279312, + 2169.79170661171 + ], + "reallocations": 0.0, + "residual": [ + -5171.901636892679, + -1749.222046139018, + -1994.910928527746, + -1.5916157281026244e-12, + -1.8189894035458565e-12, + 7.275957614183426e-12, + 5650.657283613682, + -800.7981135610744, + -3875.764648643566, + -54604.05329933689, + 5022.395254820263, + 11619.168365183488, + 0.0, + 3.637978807091713e-12, + 3.637978807091713e-12, + -2712.470427275999, + 7629.143968972824, + 1027.5530250087168, + 3899.58122355422, + 0.0, + 2812.316644127733, + -8277.918093829448, + -4190.130673813686, + -11758.154163760326, + 1.8189894035458565e-12, + 1.8189894035458565e-12, + 0.0, + -38783.89504983288, + -5911.388390279312, + 2169.79170661171, + 0.0, + 0.0, + -1.4551915228366852e-11 + ], + "residual_digest": "458dcafd51dbf1ccbaf8d7c8f45e5806d953cba98afa3bc3e8459e810e0ad1dd", + "residual_refinement_steps": 2, + "result_only_solution_scatter": true, + "runtime_seconds": 0.008374989000003552, + "solver_scaling": { + "diagonal_scale_max": 2.062654952856986, + "diagonal_scale_min": 1.0, + "type": "uniform_plus_symmetric_diagonal", + "uniform_factor": 4.761904761904762e-12 + } + }, + "schema_version": 1, + "segments": 1 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/control_mpi2.json b/qualification/0_2_8/wp13_01g_runtime/control_mpi2.json new file mode 100644 index 00000000..2c4196c5 --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/control_mpi2.json @@ -0,0 +1,405 @@ +{ + "backend": "petsc", + "case": "control", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "petsc", + "case": "control", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.3927663380442108e-07, + 1.3390936541895625e-07, + -2.8968317660688483e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.581900805034395e-07, + -7.767206947963263e-08, + -4.4061101334488534e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5045695209084035e-07, + 8.057816736461964e-08, + -5.080618181409766e-07, + 0.0, + 0.0, + 0.0, + 1.3449055591023362e-06, + 2.932094907899059e-07, + -6.96034719257171e-07 + ], + "displacement_digest": "71b96f40345f23e6ef8cc5bb7c782fb217e1558ef2eb57f378796e4d53767070", + "displacement_norm": 1.8438112835354805e-06, + "element_count": 3, + "energy": 0.04757739099014438, + "energy_identity_relative": 2.7755575615628914e-17, + "equilibrium_relative": 1.9160195604656302e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 2.785721919979543e-16, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": true, + "equilibrium_force": true, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes_global_sum": 4, + "ghost_nodes_local": 0, + "global_gather_present": false, + "internal_force_norm": 100404.80232001061, + "iterations": 1, + "linear_solves": 3, + "load_diagnostics": { + "rank_external_load_resultants": [ + [ + 50000.0, + 0.0, + 0.0 + ], + [ + 50000.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0 + ], + "local_family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 1 + }, + "local_ghost_nodes": 0, + "local_owned_nodes": 7, + "matrix_nnz": null, + "model_digest": "b000088da27b15f3895fbe9518ad92c520b819a430c5470839eb1577f4506912", + "ndof": 33, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 0, + "WEDGE6_HEX8": 1 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_nodes": 0, + "interface_nodes": 4, + "neighbors": [ + 1 + ], + "owned_elements": [ + 0, + 1 + ], + "owned_nodes": 7, + "rank": 0 + }, + { + "families": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_nodes": 4, + "interface_nodes": 4, + "neighbors": [ + 0 + ], + "owned_elements": [ + 2 + ], + "owned_nodes": 4, + "rank": 1 + } + ], + "partition_digest": "869ebe3ae5e0edc964aa7346853724ac88d234ecbf187872988d61b20905c149", + "rank_count": 2, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + } + }, + "peak_memory_mb": 96.94140625, + "preallocation": { + "diag_nnz_sum": 289, + "matgetinfo": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 477.0, + "nz_unneeded": 0.0, + "nz_used": 477.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 342.0, + "nz_unneeded": 0.0, + "nz_used": 342.0 + } + ], + "global_petsc_query": "NOT_USED_MPICH_ABI_UNRELIABLE", + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0, + "query": "PETSc.Mat.InfoType.LOCAL per rank; mpi4py aggregation" + }, + "offdiag_nnz_sum": 188, + "strategy": "global_connectivity_exact_for_PETSc_owned_rows" + }, + "rank_count": 2, + "reaction_diagnostics": { + "mpi_allreduce_resultant": [ + -99999.99999999999, + 7.73070496506989e-12, + 9.777068044058979e-12 + ], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0, + "rank_fixed_reaction_resultants": [ + [ + -19996.248754291544, + -2938.1868563376765, + 9256.931212666837 + ], + [ + -80003.75124570844, + 2938.1868563376843, + -9256.931212666826 + ] + ], + "rank_ordered_fsum_resultant": [ + -99999.99999999999, + 7.73070496506989e-12, + 9.777068044058979e-12 + ] + }, + "reaction_digest": "58122621cd5b99e0ca72a16eb09b80e6881ec97714c8d1d1b17b4eb05754dda8", + "reaction_norm": 71282.0056460283, + "reaction_resultant": [ + -99999.99999999999, + 7.73070496506989e-12, + 9.777068044058979e-12 + ], + "reaction_vector": [ + -5171.901636892678, + -1749.2220461390116, + -1994.9109285277482, + 5650.657283613678, + -800.7981135610739, + -3875.764648643566, + -54604.0532993369, + 5022.395254820263, + 11619.168365183486, + -2712.4704272760014, + 7629.143968972825, + 1027.553025008716, + 3899.581223554219, + 0.0, + 2812.316644127733, + -8277.918093829441, + -4190.130673813683, + -11758.154163760322, + -38783.89504983286, + -5911.388390279312, + 2169.7917066117107 + ], + "reallocations": 0.0, + "residual": [ + -5171.901636892678, + -1749.2220461390116, + -1994.9109285277482, + -5.229594535194337e-12, + -5.4569682106375694e-12, + 3.637978807091713e-12, + 5650.657283613678, + -800.7981135610739, + -3875.764648643566, + -54604.0532993369, + 5022.395254820263, + 11619.168365183486, + -7.275957614183426e-12, + -2.2737367544323206e-12, + -2.7284841053187847e-12, + -2712.4704272760014, + 7629.143968972825, + 1027.553025008716, + 3899.581223554219, + 0.0, + 2812.316644127733, + -8277.918093829441, + -4190.130673813683, + -11758.154163760322, + 7.958078640513122e-13, + -1.8189894035458565e-12, + -5.4569682106375694e-12, + -38783.89504983286, + -5911.388390279312, + 2169.7917066117107, + -1.4551915228366852e-11, + -1.8189894035458565e-12, + 1.8189894035458565e-12 + ], + "residual_digest": "e2ddaa2311efc376e36826195b469421656bf30d83fbc70dd526ff710cc989a3", + "residual_refinement_steps": 2, + "result_only_solution_scatter": true, + "runtime_seconds": 0.011618839999755437, + "solver_scaling": { + "diagonal_scale_max": 1.7376290854810408, + "diagonal_scale_min": 1.0, + "type": "uniform_plus_symmetric_diagonal", + "uniform_factor": 4.761904761904762e-12 + } + }, + "schema_version": 1, + "segments": 1 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/control_mpi4.json b/qualification/0_2_8/wp13_01g_runtime/control_mpi4.json new file mode 100644 index 00000000..14a5baf5 --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/control_mpi4.json @@ -0,0 +1,481 @@ +{ + "backend": "petsc", + "case": "control", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "petsc", + "case": "control", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.3927663380442108e-07, + 1.3390936541895638e-07, + -2.8968317660688494e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.581900805034393e-07, + -7.767206947963252e-08, + -4.406110133448853e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.504569520908403e-07, + 8.057816736461978e-08, + -5.080618181409765e-07, + 0.0, + 0.0, + 0.0, + 1.3449055591023364e-06, + 2.9320949078990605e-07, + -6.960347192571711e-07 + ], + "displacement_digest": "87d3a98c81c5d79e69a69ea9efe570177c4f6542eebc8a4d6f6b044282f971c0", + "displacement_norm": 1.8438112835354802e-06, + "element_count": 3, + "energy": 0.047577390990144394, + "energy_identity_relative": 0.0, + "equilibrium_relative": 1.908855834864458e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 1.200136759543661e-16, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": true, + "equilibrium_force": true, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes_global_sum": 7, + "ghost_nodes_local": 0, + "global_gather_present": false, + "internal_force_norm": 100404.80232001063, + "iterations": 1, + "linear_solves": 3, + "load_diagnostics": { + "rank_external_load_resultants": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 50000.0, + 0.0, + 0.0 + ], + [ + 50000.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0 + ], + "local_family_counts": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "local_ghost_nodes": 0, + "local_owned_nodes": 4, + "matrix_nnz": null, + "model_digest": "b000088da27b15f3895fbe9518ad92c520b819a430c5470839eb1577f4506912", + "ndof": 33, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 0, + "TET4": 1, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "interface_nodes": 3, + "neighbors": [ + 1, + 2 + ], + "owned_elements": [ + 0 + ], + "owned_nodes": 4, + "rank": 0 + }, + { + "families": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 1 + }, + "ghost_nodes": 3, + "interface_nodes": 5, + "neighbors": [ + 0, + 2 + ], + "owned_elements": [ + 1 + ], + "owned_nodes": 3, + "rank": 1 + }, + { + "families": { + "HEX8": 1, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_nodes": 4, + "interface_nodes": 4, + "neighbors": [ + 0, + 1 + ], + "owned_elements": [ + 2 + ], + "owned_nodes": 4, + "rank": 2 + }, + { + "families": { + "HEX8": 0, + "TET4": 0, + "WEDGE6": 0 + }, + "ghost_nodes": 0, + "interface_nodes": 0, + "neighbors": [], + "owned_elements": [], + "owned_nodes": 0, + "rank": 3 + } + ], + "partition_digest": "fc259622c0c11cccb7d15c2f7c79cc39c8fc2ff911a08d67a413209b009be885", + "rank_count": 4, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + } + }, + "peak_memory_mb": 99.86328125, + "preallocation": { + "diag_nnz_sum": 81, + "matgetinfo": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 261.0, + "nz_unneeded": 0.0, + "nz_used": 261.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 216.0, + "nz_unneeded": 0.0, + "nz_used": 216.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 150.0, + "nz_unneeded": 0.0, + "nz_used": 150.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 192.0, + "nz_unneeded": 0.0, + "nz_used": 192.0 + } + ], + "global_petsc_query": "NOT_USED_MPICH_ABI_UNRELIABLE", + "mallocs_sum": 0.0, + "nz_allocated_sum": 819.0, + "nz_used_sum": 819.0, + "query": "PETSc.Mat.InfoType.LOCAL per rank; mpi4py aggregation" + }, + "offdiag_nnz_sum": 180, + "strategy": "global_connectivity_exact_for_PETSc_owned_rows" + }, + "rank_count": 4, + "reaction_diagnostics": { + "mpi_allreduce_resultant": [ + -99999.99999999999, + -1.3642420526593924e-12, + 1.2278178473934531e-11 + ], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0, + "rank_fixed_reaction_resultants": [ + [ + 6562.072169631378, + -1802.6260729474898, + 3899.5812235542203 + ], + [ + -26558.320923922918, + -1135.5607833901927, + 5357.349989112619 + ], + [ + -80003.75124570845, + 2938.186856337681, + -9256.931212666828 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + -99999.99999999999, + -1.3642420526593924e-12, + 1.2278178473934531e-11 + ] + }, + "reaction_digest": "c569fa7cc111a0f321d61164a3674b1a83d4640d5fd522a2970b546422f10e0d", + "reaction_norm": 71282.00564602831, + "reaction_resultant": [ + -99999.99999999999, + -1.3642420526593924e-12, + 1.2278178473934531e-11 + ], + "reaction_vector": [ + -5171.9016368926805, + -1749.2220461390175, + -1994.910928527746, + 5650.657283613683, + -800.7981135610735, + -3875.764648643568, + -54604.0532993369, + 5022.395254820263, + 11619.16836518349, + -2712.470427276, + 7629.143968972824, + 1027.5530250087172, + 3899.5812235542203, + 0.0, + 2812.316644127733, + -8277.918093829445, + -4190.1306738136855, + -11758.154163760324, + -38783.89504983287, + -5911.388390279312, + 2169.7917066117097 + ], + "reallocations": 0.0, + "residual": [ + -5171.9016368926805, + -1749.2220461390175, + -1994.910928527746, + -6.821210263296962e-13, + -1.8189894035458565e-12, + 0.0, + 5650.657283613683, + -800.7981135610735, + -3875.764648643568, + -54604.0532993369, + 5022.395254820263, + 11619.16836518349, + 0.0, + -2.7284841053187847e-12, + 9.094947017729282e-13, + -2712.470427276, + 7629.143968972824, + 1027.5530250087172, + 3899.5812235542203, + 0.0, + 2812.316644127733, + -8277.918093829445, + -4190.1306738136855, + -11758.154163760324, + 0.0, + 1.8189894035458565e-12, + 5.4569682106375694e-12, + -38783.89504983287, + -5911.388390279312, + 2169.7917066117097, + 0.0, + -1.3642420526593924e-12, + -5.002220859751105e-12 + ], + "residual_digest": "299f34ae10ac7a341c1771f5c3402e8a9d6abcad38aac414ffe46d64c959b47e", + "residual_refinement_steps": 2, + "result_only_solution_scatter": true, + "runtime_seconds": 0.0156546280004477, + "solver_scaling": { + "diagonal_scale_max": 1.5905124110580622, + "diagonal_scale_min": 1.0, + "type": "uniform_plus_symmetric_diagonal", + "uniform_factor": 4.761904761904762e-12 + } + }, + "schema_version": 1, + "segments": 1 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/control_serial.json b/qualification/0_2_8/wp13_01g_runtime/control_serial.json new file mode 100644 index 00000000..7d715897 --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/control_serial.json @@ -0,0 +1,288 @@ +{ + "backend": "serial", + "case": "control", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "serial", + "case": "control", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": [ + 0.0, + 0.0, + 0.0, + -1.392766338044211e-07, + 1.3390936541895638e-07, + -2.8968317660688494e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 5.581900805034395e-07, + -7.767206947963253e-08, + -4.406110133448854e-07, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -3.5045695209084035e-07, + 8.057816736461975e-08, + -5.080618181409766e-07, + 0.0, + 0.0, + 0.0, + 1.3449055591023364e-06, + 2.9320949078990615e-07, + -6.96034719257171e-07 + ], + "displacement_digest": "1274b0903026224dca109a2364720caedc7309b84debc99d58564c50bb8cb8d2", + "displacement_norm": 1.8438112835354805e-06, + "element_count": 3, + "energy": 0.047577390990144394, + "energy_identity_relative": 1.3877787807814457e-17, + "equilibrium_relative": 2.511012588416365e-16, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "free_residual_relative": 1.2974253529761977e-16, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": true, + "equilibrium_force": true, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes": 0, + "global_gather_present": false, + "internal_force_norm": 100404.80232001063, + "iterations": "direct", + "loads": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 50000.0, + 0.0, + 0.0 + ], + "matrix_nnz": 763, + "model_digest": "b000088da27b15f3895fbe9518ad92c520b819a430c5470839eb1577f4506912", + "ndof": 33, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 0, + "WEDGE6_HEX8": 0 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 1, + "TET4": 1, + "WEDGE6": 1 + }, + "ghost_nodes": 0, + "interface_nodes": 0, + "neighbors": [], + "owned_elements": [ + 0, + 1, + 2 + ], + "owned_nodes": 11, + "rank": 0 + } + ], + "partition_digest": "4fee8821513cbc05b92dbf5630786f68b3e3481d208c6980fb1e300814ae7686", + "rank_count": 1, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 1 + } + }, + "peak_memory_mb": 62.05859375, + "rank_count": 1, + "reaction_digest": "9c01c7b01f2035ee7e3e22dbdcf5306644a7b8cdf0da4b12152949277b67bee3", + "reaction_norm": 71282.0056460283, + "reaction_resultant": [ + -99999.99999999999, + -1.2278178473934531e-11, + 1.6370904631912708e-11 + ], + "reaction_vector": [ + -5171.901636892673, + -1749.222046139017, + -1994.910928527741, + 5650.657283613683, + -800.7981135610748, + -3875.764648643565, + -54604.05329933689, + 5022.395254820259, + 11619.16836518349, + -2712.4704272760005, + 7629.143968972823, + 1027.5530250087158, + 3899.5812235542203, + 0.0, + 2812.3166441277335, + -8277.918093829445, + -4190.130673813686, + -11758.154163760328, + -38783.89504983288, + -5911.388390279316, + 2169.7917066117107 + ], + "reallocations": 0, + "residual": [ + -5171.901636892673, + -1749.222046139017, + -1994.910928527741, + -2.7284841053187847e-12, + 0.0, + 5.4569682106375694e-12, + 5650.657283613683, + -800.7981135610748, + -3875.764648643565, + -54604.05329933689, + 5022.395254820259, + 11619.16836518349, + 0.0, + -1.3642420526593924e-12, + 3.637978807091713e-12, + -2712.4704272760005, + 7629.143968972823, + 1027.5530250087158, + 3899.5812235542203, + 0.0, + 2812.3166441277335, + -8277.918093829445, + -4190.130673813686, + -11758.154163760328, + -2.2737367544323206e-12, + 3.183231456205249e-12, + -3.637978807091713e-12, + -38783.89504983288, + -5911.388390279316, + 2169.7917066117107, + 0.0, + 1.8189894035458565e-12, + 0.0 + ], + "residual_digest": "dc528b15070db02702d40feab1aa159e6eb9183fa525738961f45c813a925e4a", + "runtime_seconds": 0.00680983400070545 + }, + "schema_version": 1, + "segments": 1 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi1.json b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi1.json new file mode 100644 index 00000000..77d6df9f --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi1.json @@ -0,0 +1,6999 @@ +{ + "backend": "petsc", + "case": "stage-a", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "petsc", + "case": "stage-a", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 3332 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + }, + { + "element_indices": [ + 3, + 4 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 3, + 4, + 6, + 7 + ] + }, + { + "element_indices": [ + 5, + 6 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 6, + 7, + 9, + 10 + ] + }, + { + "element_indices": [ + 7, + 8 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 9, + 10, + 12, + 13 + ] + }, + { + "element_indices": [ + 9, + 10 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 12, + 13, + 15, + 16 + ] + }, + { + "element_indices": [ + 11, + 12 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 15, + 16, + 18, + 19 + ] + }, + { + "element_indices": [ + 13, + 14 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 18, + 19, + 21, + 22 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": null, + "displacement_digest": "dd36e77c3b4d08b16cd7eb3e10021963e70c83346bf53aa87cb9347ab7269070", + "displacement_norm": 7.127776514845337e-05, + "element_count": 6665, + "energy": 0.0688169511539975, + "energy_identity_relative": 3.5665914666083154e-13, + "equilibrium_relative": 6.798705461879565e-10, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "free_residual_relative": 2.5741794818374375e-11, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": false, + "equilibrium_force": false, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes_global_sum": 0, + "ghost_nodes_local": 0, + "global_gather_present": false, + "internal_force_norm": 83666.9953090524, + "iterations": 1, + "linear_solves": 3, + "load_diagnostics": { + "rank_external_load_resultants": [ + [ + 100000.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "loads": null, + "local_family_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "local_ghost_nodes": 0, + "local_owned_nodes": 16666, + "matrix_nnz": null, + "model_digest": "da182f3d0b7ab0c6f7de5ba244407fe084d469684b2867c5456ce44c25dce707", + "ndof": 49998, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 0, + "WEDGE6_HEX8": 0 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "ghost_nodes": 0, + "interface_nodes": 0, + "neighbors": [], + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664 + ], + "owned_nodes": 16666, + "rank": 0 + } + ], + "partition_digest": "bed3c4e40446bd6b508a9e616cc3563e4b05d6c749d7c5184de9ba373d1a2914", + "rank_count": 1, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 3332 + } + }, + "peak_memory_mb": 288.28515625, + "preallocation": { + "diag_nnz_sum": 1889496, + "matgetinfo": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 1889496.0, + "nz_unneeded": 0.0, + "nz_used": 1889496.0 + } + ], + "global_petsc_query": "NOT_USED_MPICH_ABI_UNRELIABLE", + "mallocs_sum": 0.0, + "nz_allocated_sum": 1889496.0, + "nz_used_sum": 1889496.0, + "query": "PETSc.Mat.InfoType.LOCAL per rank; mpi4py aggregation" + }, + "offdiag_nnz_sum": 0, + "strategy": "global_connectivity_exact_for_PETSc_owned_rows" + }, + "rank_count": 1, + "reaction_diagnostics": { + "mpi_allreduce_resultant": [ + -99999.99999926914, + 1.7360980564262718e-07, + -6.798290451115463e-05 + ], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0, + "rank_fixed_reaction_resultants": [ + [ + -99999.99999926914, + 1.7360980564262718e-07, + -6.798290451115463e-05 + ] + ], + "rank_ordered_fsum_resultant": [ + -99999.99999926914, + 1.7360980564262718e-07, + -6.798290451115463e-05 + ] + }, + "reaction_digest": "ee95aad2278e53180b95af02342bc423ef4714982db0ef935030db66b1af0536", + "reaction_norm": 44723.21661112386, + "reaction_resultant": [ + -99999.99999926914, + 1.7360980564262718e-07, + -6.798290451115463e-05 + ], + "reaction_vector": null, + "reallocations": 0.0, + "residual": null, + "residual_digest": "8dff4683de8f86fce98b231cf4decce23622197cbe5c9985e08861f177ed5cce", + "residual_refinement_steps": 2, + "result_only_solution_scatter": true, + "runtime_seconds": 18.073006679999708, + "solver_scaling": { + "diagonal_scale_max": 1.0, + "diagonal_scale_min": 0.02394348577794769, + "type": "uniform_plus_symmetric_diagonal", + "uniform_factor": 4.761904761904762e-12 + } + }, + "schema_version": 1, + "segments": 3332 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi1.npz b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi1.npz new file mode 100644 index 00000000..d1d81f36 Binary files /dev/null and b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi1.npz differ diff --git a/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.json b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.json new file mode 100644 index 00000000..020569be --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.json @@ -0,0 +1,7039 @@ +{ + "backend": "petsc", + "case": "stage-a", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "petsc", + "case": "stage-a", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 3332 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + }, + { + "element_indices": [ + 3, + 4 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 3, + 4, + 6, + 7 + ] + }, + { + "element_indices": [ + 5, + 6 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 6, + 7, + 9, + 10 + ] + }, + { + "element_indices": [ + 7, + 8 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 9, + 10, + 12, + 13 + ] + }, + { + "element_indices": [ + 9, + 10 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 12, + 13, + 15, + 16 + ] + }, + { + "element_indices": [ + 11, + 12 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 15, + 16, + 18, + 19 + ] + }, + { + "element_indices": [ + 13, + 14 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 18, + 19, + 21, + 22 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": null, + "displacement_digest": "6256e0c783a8fcf27d9a443f54c651239a1fe109fec12b1e6bf2c0ce02d9b0d9", + "displacement_norm": 7.127776514860108e-05, + "element_count": 6665, + "energy": 0.06881695115386383, + "energy_identity_relative": 8.060219158778636e-13, + "equilibrium_relative": 6.755964550854925e-10, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "free_residual_relative": 2.601040197563168e-11, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": false, + "equilibrium_force": false, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes_global_sum": 5, + "ghost_nodes_local": 0, + "global_gather_present": false, + "internal_force_norm": 83666.9953091262, + "iterations": 1, + "linear_solves": 3, + "load_diagnostics": { + "rank_external_load_resultants": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 100000.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "loads": null, + "local_family_counts": { + "HEX8": 1666, + "TET4": 1, + "WEDGE6": 1666 + }, + "local_ghost_nodes": 0, + "local_owned_nodes": 8336, + "matrix_nnz": null, + "model_digest": "da182f3d0b7ab0c6f7de5ba244407fe084d469684b2867c5456ce44c25dce707", + "ndof": 49998, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 0, + "WEDGE6_HEX8": 0 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 1666, + "TET4": 1, + "WEDGE6": 1666 + }, + "ghost_nodes": 0, + "interface_nodes": 5, + "neighbors": [ + 1 + ], + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332 + ], + "owned_nodes": 8336, + "rank": 0 + }, + { + "families": { + "HEX8": 1666, + "TET4": 0, + "WEDGE6": 1666 + }, + "ghost_nodes": 5, + "interface_nodes": 5, + "neighbors": [ + 0 + ], + "owned_elements": [ + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664 + ], + "owned_nodes": 8330, + "rank": 1 + } + ], + "partition_digest": "c76744bcac23be85c8491004fa670650c67a772f7c1da7f3555e42307254c5e8", + "rank_count": 2, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 3332 + } + }, + "peak_memory_mb": 236.9453125, + "preallocation": { + "diag_nnz_sum": 674793, + "matgetinfo": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 974907.0, + "nz_unneeded": 0.0, + "nz_used": 974907.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 914589.0, + "nz_unneeded": 0.0, + "nz_used": 914589.0 + } + ], + "global_petsc_query": "NOT_USED_MPICH_ABI_UNRELIABLE", + "mallocs_sum": 0.0, + "nz_allocated_sum": 1889496.0, + "nz_used_sum": 1889496.0, + "query": "PETSc.Mat.InfoType.LOCAL per rank; mpi4py aggregation" + }, + "offdiag_nnz_sum": 300114, + "strategy": "global_connectivity_exact_for_PETSc_owned_rows" + }, + "rank_count": 2, + "reaction_diagnostics": { + "mpi_allreduce_resultant": [ + -99999.99999949042, + 5.7863417168846354e-08, + -6.75576989124238e-05 + ], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0, + "rank_fixed_reaction_resultants": [ + [ + -1029.1303233162225, + -6984.446578546089, + 17297.8897626956 + ], + [ + -98970.8696761742, + 6984.446578603952, + -17297.889830253298 + ] + ], + "rank_ordered_fsum_resultant": [ + -99999.99999949042, + 5.7863417168846354e-08, + -6.75576989124238e-05 + ] + }, + "reaction_digest": "78f116a4fa0b652bd7df95021f06ec9cf41ada92ddc33fef7cf7ad6997890b37", + "reaction_norm": 44723.216611251206, + "reaction_resultant": [ + -99999.99999949042, + 5.7863417168846354e-08, + -6.75576989124238e-05 + ], + "reaction_vector": null, + "reallocations": 0.0, + "residual": null, + "residual_digest": "5a8a8d7d5252c1f004c618c41087b42eba399ae7ab616e3a98825d654293739b", + "residual_refinement_steps": 2, + "result_only_solution_scatter": true, + "runtime_seconds": 11.427822876999926, + "solver_scaling": { + "diagonal_scale_max": 1.0, + "diagonal_scale_min": 0.02394348577794769, + "type": "uniform_plus_symmetric_diagonal", + "uniform_factor": 4.761904761904762e-12 + } + }, + "schema_version": 1, + "segments": 3332 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.npz b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.npz new file mode 100644 index 00000000..bbd87540 Binary files /dev/null and b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.npz differ diff --git a/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi4.json b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi4.json new file mode 100644 index 00000000..1b4afb5e --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi4.json @@ -0,0 +1,7117 @@ +{ + "backend": "petsc", + "case": "stage-a", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "result": { + "backend": "petsc", + "case": "stage-a", + "connectivity": { + "connected_components": 1, + "element_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "family_graph": { + "HEX8": [ + "WEDGE6" + ], + "TET4": [ + "WEDGE6" + ], + "WEDGE6": [ + "HEX8", + "TET4" + ] + }, + "fixed_families": [ + "HEX8", + "TET4", + "WEDGE6" + ], + "interface_counts": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 3332 + }, + "interface_records_sample": [ + { + "element_indices": [ + 0, + 1 + ], + "families": [ + "TET4", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 2 + ] + }, + { + "element_indices": [ + 1, + 2 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 0, + 1, + 3, + 4 + ] + }, + { + "element_indices": [ + 3, + 4 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 3, + 4, + 6, + 7 + ] + }, + { + "element_indices": [ + 5, + 6 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 6, + 7, + 9, + 10 + ] + }, + { + "element_indices": [ + 7, + 8 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 9, + 10, + 12, + 13 + ] + }, + { + "element_indices": [ + 9, + 10 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 12, + 13, + 15, + 16 + ] + }, + { + "element_indices": [ + 11, + 12 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 15, + 16, + 18, + 19 + ] + }, + { + "element_indices": [ + 13, + 14 + ], + "families": [ + "HEX8", + "WEDGE6" + ], + "nodes": [ + 18, + 19, + 21, + 22 + ] + } + ], + "load_families": [ + "HEX8", + "WEDGE6" + ], + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "scope_errors": [] + }, + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "displacement": null, + "displacement_digest": "fd0cbed165260a98f025759e59fde3a8532438c143023848356f1656986b1adf", + "displacement_norm": 7.127776514946657e-05, + "element_count": 6665, + "energy": 0.06881695115504777, + "energy_identity_relative": 2.9742874829707944e-13, + "equilibrium_relative": 6.587795990334173e-10, + "external_load_resultant": [ + 100000.0, + 0.0, + 0.0 + ], + "family_counts": { + "HEX8": 3332, + "TET4": 1, + "WEDGE6": 3332 + }, + "free_residual_relative": 2.621011698382215e-11, + "gates": { + "connected_components": true, + "energy": true, + "equilibrium_component": false, + "equilibrium_force": false, + "family_presence": true, + "free_residual": true, + "reallocations": true, + "structural_global_gather": true, + "tet4_wedge6_interface": true, + "wedge6_hex8_interface": true + }, + "ghost_nodes_global_sum": 15, + "ghost_nodes_local": 0, + "global_gather_present": false, + "internal_force_norm": 83666.99530937284, + "iterations": 1, + "linear_solves": 3, + "load_diagnostics": { + "rank_external_load_resultants": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 100000.0, + 0.0, + 0.0 + ] + ], + "rank_ordered_fsum_resultant": [ + 100000.0, + 0.0, + 0.0 + ] + }, + "loads": null, + "local_family_counts": { + "HEX8": 833, + "TET4": 1, + "WEDGE6": 833 + }, + "local_ghost_nodes": 0, + "local_owned_nodes": 4171, + "matrix_nnz": null, + "model_digest": "da182f3d0b7ab0c6f7de5ba244407fe084d469684b2867c5456ce44c25dce707", + "ndof": 49998, + "partition": { + "cross_rank_interfaces": { + "TET4_WEDGE6": 0, + "WEDGE6_HEX8": 0 + }, + "element_components": 1, + "local_records": [ + { + "families": { + "HEX8": 833, + "TET4": 1, + "WEDGE6": 833 + }, + "ghost_nodes": 0, + "interface_nodes": 5, + "neighbors": [ + 1 + ], + "owned_elements": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1557, + 1558, + 1559, + 1560, + 1561, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1578, + 1579, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666 + ], + "owned_nodes": 4171, + "rank": 0 + }, + { + "families": { + "HEX8": 833, + "TET4": 0, + "WEDGE6": 833 + }, + "ghost_nodes": 5, + "interface_nodes": 10, + "neighbors": [ + 0, + 2 + ], + "owned_elements": [ + 1667, + 1668, + 1669, + 1670, + 1671, + 1672, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1700, + 1701, + 1702, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1713, + 1714, + 1715, + 1716, + 1717, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1724, + 1725, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1732, + 1733, + 1734, + 1735, + 1736, + 1737, + 1738, + 1739, + 1740, + 1741, + 1742, + 1743, + 1744, + 1745, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, + 1781, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1817, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1842, + 1843, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1864, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1880, + 1881, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1894, + 1895, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, + 1919, + 1920, + 1921, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1928, + 1929, + 1930, + 1931, + 1932, + 1933, + 1934, + 1935, + 1936, + 1937, + 1938, + 1939, + 1940, + 1941, + 1942, + 1943, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1964, + 1965, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1992, + 1993, + 1994, + 1995, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2004, + 2005, + 2006, + 2007, + 2008, + 2009, + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018, + 2019, + 2020, + 2021, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2034, + 2035, + 2036, + 2037, + 2038, + 2039, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2054, + 2055, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2069, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2084, + 2085, + 2086, + 2087, + 2088, + 2089, + 2090, + 2091, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2122, + 2123, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2136, + 2137, + 2138, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2150, + 2151, + 2152, + 2153, + 2154, + 2155, + 2156, + 2157, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2164, + 2165, + 2166, + 2167, + 2168, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2175, + 2176, + 2177, + 2178, + 2179, + 2180, + 2181, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2190, + 2191, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2199, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2220, + 2221, + 2222, + 2223, + 2224, + 2225, + 2226, + 2227, + 2228, + 2229, + 2230, + 2231, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2287, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2299, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2306, + 2307, + 2308, + 2309, + 2310, + 2311, + 2312, + 2313, + 2314, + 2315, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2335, + 2336, + 2337, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2360, + 2361, + 2362, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2376, + 2377, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2391, + 2392, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2399, + 2400, + 2401, + 2402, + 2403, + 2404, + 2405, + 2406, + 2407, + 2408, + 2409, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2416, + 2417, + 2418, + 2419, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438, + 2439, + 2440, + 2441, + 2442, + 2443, + 2444, + 2445, + 2446, + 2447, + 2448, + 2449, + 2450, + 2451, + 2452, + 2453, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2466, + 2467, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2488, + 2489, + 2490, + 2491, + 2492, + 2493, + 2494, + 2495, + 2496, + 2497, + 2498, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2544, + 2545, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2554, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2564, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2571, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2620, + 2621, + 2622, + 2623, + 2624, + 2625, + 2626, + 2627, + 2628, + 2629, + 2630, + 2631, + 2632, + 2633, + 2634, + 2635, + 2636, + 2637, + 2638, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2682, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2690, + 2691, + 2692, + 2693, + 2694, + 2695, + 2696, + 2697, + 2698, + 2699, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2720, + 2721, + 2722, + 2723, + 2724, + 2725, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2738, + 2739, + 2740, + 2741, + 2742, + 2743, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2766, + 2767, + 2768, + 2769, + 2770, + 2771, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2802, + 2803, + 2804, + 2805, + 2806, + 2807, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2826, + 2827, + 2828, + 2829, + 2830, + 2831, + 2832, + 2833, + 2834, + 2835, + 2836, + 2837, + 2838, + 2839, + 2840, + 2841, + 2842, + 2843, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2855, + 2856, + 2857, + 2858, + 2859, + 2860, + 2861, + 2862, + 2863, + 2864, + 2865, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2874, + 2875, + 2876, + 2877, + 2878, + 2879, + 2880, + 2881, + 2882, + 2883, + 2884, + 2885, + 2886, + 2887, + 2888, + 2889, + 2890, + 2891, + 2892, + 2893, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2904, + 2905, + 2906, + 2907, + 2908, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2934, + 2935, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2943, + 2944, + 2945, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2954, + 2955, + 2956, + 2957, + 2958, + 2959, + 2960, + 2961, + 2962, + 2963, + 2964, + 2965, + 2966, + 2967, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2982, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3018, + 3019, + 3020, + 3021, + 3022, + 3023, + 3024, + 3025, + 3026, + 3027, + 3028, + 3029, + 3030, + 3031, + 3032, + 3033, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3070, + 3071, + 3072, + 3073, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3100, + 3101, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3118, + 3119, + 3120, + 3121, + 3122, + 3123, + 3124, + 3125, + 3126, + 3127, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3150, + 3151, + 3152, + 3153, + 3154, + 3155, + 3156, + 3157, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3172, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3186, + 3187, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3194, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3204, + 3205, + 3206, + 3207, + 3208, + 3209, + 3210, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3231, + 3232, + 3233, + 3234, + 3235, + 3236, + 3237, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3246, + 3247, + 3248, + 3249, + 3250, + 3251, + 3252, + 3253, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3262, + 3263, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3310, + 3311, + 3312, + 3313, + 3314, + 3315, + 3316, + 3317, + 3318, + 3319, + 3320, + 3321, + 3322, + 3323, + 3324, + 3325, + 3326, + 3327, + 3328, + 3329, + 3330, + 3331, + 3332 + ], + "owned_nodes": 4165, + "rank": 1 + }, + { + "families": { + "HEX8": 833, + "TET4": 0, + "WEDGE6": 833 + }, + "ghost_nodes": 5, + "interface_nodes": 10, + "neighbors": [ + 1, + 3 + ], + "owned_elements": [ + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3376, + 3377, + 3378, + 3379, + 3380, + 3381, + 3382, + 3383, + 3384, + 3385, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3398, + 3399, + 3400, + 3401, + 3402, + 3403, + 3404, + 3405, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3426, + 3427, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3441, + 3442, + 3443, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3455, + 3456, + 3457, + 3458, + 3459, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3481, + 3482, + 3483, + 3484, + 3485, + 3486, + 3487, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3518, + 3519, + 3520, + 3521, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3530, + 3531, + 3532, + 3533, + 3534, + 3535, + 3536, + 3537, + 3538, + 3539, + 3540, + 3541, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3550, + 3551, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3566, + 3567, + 3568, + 3569, + 3570, + 3571, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3606, + 3607, + 3608, + 3609, + 3610, + 3611, + 3612, + 3613, + 3614, + 3615, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3650, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3681, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3702, + 3703, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3720, + 3721, + 3722, + 3723, + 3724, + 3725, + 3726, + 3727, + 3728, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3754, + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3761, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3772, + 3773, + 3774, + 3775, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3833, + 3834, + 3835, + 3836, + 3837, + 3838, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351, + 4352, + 4353, + 4354, + 4355, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4378, + 4379, + 4380, + 4381, + 4382, + 4383, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4398, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4423, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4469, + 4470, + 4471, + 4472, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4538, + 4539, + 4540, + 4541, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4549, + 4550, + 4551, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4572, + 4573, + 4574, + 4575, + 4576, + 4577, + 4578, + 4579, + 4580, + 4581, + 4582, + 4583, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4598, + 4599, + 4600, + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4608, + 4609, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4620, + 4621, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4638, + 4639, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4656, + 4657, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4670, + 4671, + 4672, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4680, + 4681, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4688, + 4689, + 4690, + 4691, + 4692, + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4746, + 4747, + 4748, + 4749, + 4750, + 4751, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4776, + 4777, + 4778, + 4779, + 4780, + 4781, + 4782, + 4783, + 4784, + 4785, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4798, + 4799, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4824, + 4825, + 4826, + 4827, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4834, + 4835, + 4836, + 4837, + 4838, + 4839, + 4840, + 4841, + 4842, + 4843, + 4844, + 4845, + 4846, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4872, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4879, + 4880, + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4892, + 4893, + 4894, + 4895, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4910, + 4911, + 4912, + 4913, + 4914, + 4915, + 4916, + 4917, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4928, + 4929, + 4930, + 4931, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4942, + 4943, + 4944, + 4945, + 4946, + 4947, + 4948, + 4949, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4956, + 4957, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4974, + 4975, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4984, + 4985, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4996, + 4997, + 4998 + ], + "owned_nodes": 4165, + "rank": 2 + }, + { + "families": { + "HEX8": 833, + "TET4": 0, + "WEDGE6": 833 + }, + "ghost_nodes": 5, + "interface_nodes": 5, + "neighbors": [ + 2 + ], + "owned_elements": [ + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5026, + 5027, + 5028, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5035, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5044, + 5045, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5053, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5062, + 5063, + 5064, + 5065, + 5066, + 5067, + 5068, + 5069, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5080, + 5081, + 5082, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5090, + 5091, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, + 5126, + 5127, + 5128, + 5129, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5142, + 5143, + 5144, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5172, + 5173, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5204, + 5205, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5218, + 5219, + 5220, + 5221, + 5222, + 5223, + 5224, + 5225, + 5226, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5272, + 5273, + 5274, + 5275, + 5276, + 5277, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5296, + 5297, + 5298, + 5299, + 5300, + 5301, + 5302, + 5303, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5326, + 5327, + 5328, + 5329, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5356, + 5357, + 5358, + 5359, + 5360, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5380, + 5381, + 5382, + 5383, + 5384, + 5385, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5395, + 5396, + 5397, + 5398, + 5399, + 5400, + 5401, + 5402, + 5403, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5414, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, + 5422, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5430, + 5431, + 5432, + 5433, + 5434, + 5435, + 5436, + 5437, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5448, + 5449, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5458, + 5459, + 5460, + 5461, + 5462, + 5463, + 5464, + 5465, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5481, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5500, + 5501, + 5502, + 5503, + 5504, + 5505, + 5506, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5515, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5537, + 5538, + 5539, + 5540, + 5541, + 5542, + 5543, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5554, + 5555, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5589, + 5590, + 5591, + 5592, + 5593, + 5594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5605, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5648, + 5649, + 5650, + 5651, + 5652, + 5653, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5660, + 5661, + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670, + 5671, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5728, + 5729, + 5730, + 5731, + 5732, + 5733, + 5734, + 5735, + 5736, + 5737, + 5738, + 5739, + 5740, + 5741, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5748, + 5749, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5760, + 5761, + 5762, + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5820, + 5821, + 5822, + 5823, + 5824, + 5825, + 5826, + 5827, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5852, + 5853, + 5854, + 5855, + 5856, + 5857, + 5858, + 5859, + 5860, + 5861, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5871, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5894, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5908, + 5909, + 5910, + 5911, + 5912, + 5913, + 5914, + 5915, + 5916, + 5917, + 5918, + 5919, + 5920, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5938, + 5939, + 5940, + 5941, + 5942, + 5943, + 5944, + 5945, + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5964, + 5965, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5982, + 5983, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5991, + 5992, + 5993, + 5994, + 5995, + 5996, + 5997, + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6038, + 6039, + 6040, + 6041, + 6042, + 6043, + 6044, + 6045, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6064, + 6065, + 6066, + 6067, + 6068, + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6108, + 6109, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6117, + 6118, + 6119, + 6120, + 6121, + 6122, + 6123, + 6124, + 6125, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6157, + 6158, + 6159, + 6160, + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6200, + 6201, + 6202, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6210, + 6211, + 6212, + 6213, + 6214, + 6215, + 6216, + 6217, + 6218, + 6219, + 6220, + 6221, + 6222, + 6223, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6236, + 6237, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6259, + 6260, + 6261, + 6262, + 6263, + 6264, + 6265, + 6266, + 6267, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6302, + 6303, + 6304, + 6305, + 6306, + 6307, + 6308, + 6309, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6321, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6462, + 6463, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6470, + 6471, + 6472, + 6473, + 6474, + 6475, + 6476, + 6477, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6514, + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6544, + 6545, + 6546, + 6547, + 6548, + 6549, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6558, + 6559, + 6560, + 6561, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6590, + 6591, + 6592, + 6593, + 6594, + 6595, + 6596, + 6597, + 6598, + 6599, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6618, + 6619, + 6620, + 6621, + 6622, + 6623, + 6624, + 6625, + 6626, + 6627, + 6628, + 6629, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6641, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6650, + 6651, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664 + ], + "owned_nodes": 4165, + "rank": 3 + } + ], + "partition_digest": "32409d3e95d0715bdf577429e540ce3ae8eeab24b3b06a65508f1bd4459d11b0", + "rank_count": 4, + "total_family_interfaces": { + "TET4_WEDGE6": 1, + "WEDGE6_HEX8": 3332 + } + }, + "peak_memory_mb": 205.70703125, + "preallocation": { + "diag_nnz_sum": 337330, + "matgetinfo": { + "by_rank": [ + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 487422.0, + "nz_unneeded": 0.0, + "nz_used": 487422.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 487512.0, + "nz_unneeded": 0.0, + "nz_used": 487512.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 464670.0, + "nz_unneeded": 0.0, + "nz_used": 464670.0 + }, + { + "assemblies": 1.0, + "block_size": 1.0, + "factor_mallocs": 0.0, + "fill_ratio_given": 0.0, + "fill_ratio_needed": 0.0, + "mallocs": 0.0, + "memory": 0.0, + "nz_allocated": 449892.0, + "nz_unneeded": 0.0, + "nz_used": 449892.0 + } + ], + "global_petsc_query": "NOT_USED_MPICH_ABI_UNRELIABLE", + "mallocs_sum": 0.0, + "nz_allocated_sum": 1889496.0, + "nz_used_sum": 1889496.0, + "query": "PETSc.Mat.InfoType.LOCAL per rank; mpi4py aggregation" + }, + "offdiag_nnz_sum": 150092, + "strategy": "global_connectivity_exact_for_PETSc_owned_rows" + }, + "rank_count": 4, + "reaction_diagnostics": { + "mpi_allreduce_resultant": [ + -99999.99999992225, + 9.651171239966061e-08, + -6.587784332623414e-05 + ], + "mpi_allreduce_vs_rank_ordered_fsum_max_abs": 0.0, + "rank_fixed_reaction_resultants": [ + [ + 7199.353894389816, + -5405.101860723922, + 11295.181463517998 + ], + [ + -8228.48421712911, + -1579.34471742277, + 6002.708300379876 + ], + [ + -27734.187870717335, + 959.0692870977336, + -23.482241369321173 + ], + [ + -71236.68180646561, + 6025.37729114547, + -17274.407588406397 + ] + ], + "rank_ordered_fsum_resultant": [ + -99999.99999992225, + 9.651171239966061e-08, + -6.587784332623414e-05 + ] + }, + "reaction_digest": "5f87a99d4c244ffa2e5720709af7167abb75bcccbceb0e590d68abac58b4db4d", + "reaction_norm": 44723.21661172417, + "reaction_resultant": [ + -99999.99999992225, + 9.651171239966061e-08, + -6.587784332623414e-05 + ], + "reaction_vector": null, + "reallocations": 0.0, + "residual": null, + "residual_digest": "1047459a7ecef6fed5cd9655a10b286e295fbde409b10e06fb0edbbda05f61a2", + "residual_refinement_steps": 2, + "result_only_solution_scatter": true, + "runtime_seconds": 6.727593073999742, + "solver_scaling": { + "diagonal_scale_max": 1.0, + "diagonal_scale_min": 0.023943485777949514, + "type": "uniform_plus_symmetric_diagonal", + "uniform_factor": 4.761904761904762e-12 + } + }, + "schema_version": 1, + "segments": 3332 +} diff --git a/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi4.npz b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi4.npz new file mode 100644 index 00000000..8277daac Binary files /dev/null and b/qualification/0_2_8/wp13_01g_runtime/stage_a_mpi4.npz differ diff --git a/qualification/0_2_8/wp13_01g_runtime_execution.json b/qualification/0_2_8/wp13_01g_runtime_execution.json new file mode 100644 index 00000000..48694d9d --- /dev/null +++ b/qualification/0_2_8/wp13_01g_runtime_execution.json @@ -0,0 +1,157 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01G-RUNTIME-EXECUTION", + "work_package": "WP13-01G", + "contract_id": "WP13-01G-CONNECTED-MIXED-PETSC-001", + "contract_path": "qualification/0_2_8/wp13_01g_connected_mixed_contract.json", + "contract_git_blob_sha1": "d5271e29f20cd29a122ad58b1ec7e5dbc456c059", + "source": { + "start_sha": "c06838b909e1586ef776ce6ac986488965bbb8bb", + "contract_commit": "cdc16e9267cc6b1b2cc67d3017348a76f0a491fa", + "numerical_source_changed": false, + "formulation_changed": false, + "gates_changed": false, + "benchmark_changed_after_results": false, + "maturity_changed": false, + "historical_0_2_7_evidence_changed": false + }, + "environment": { + "execution_image": "qf-solver-large:0.2.0", + "petsc4py": "3.25.1", + "petsc": "3.25.1", + "mpi4py": "4.1.2", + "mpi": "MPICH 5.0.1", + "launcher": "mpiexec", + "available_ranks": [1, 2, 4] + }, + "status": "FAIL_STAGE_A", + "stop_reason": "The frozen Stage-A equilibrium gate failed on PETSc-1, MPI-2 and MPI-4. No Stage-B or Stage-C run was started.", + "control_33_dof": { + "connected_components": 1, + "element_counts": {"TET4": 1, "WEDGE6": 1, "HEX8": 1}, + "interface_counts": {"TET4_WEDGE6": 1, "WEDGE6_HEX8": 1}, + "mechanical_load_path": "TET4 -> WEDGE6 -> HEX8 through shared conforming faces", + "serial": { + "status": "PASS", + "free_residual": 1.2974253529761977e-16, + "equilibrium": 2.511012588416365e-16, + "energy_identity": 1.3877787807814457e-17 + }, + "petsc_1": { + "status": "PASS", + "free_residual": 2.4642523555644445e-16, + "equilibrium": 1.1073821644355049e-16, + "energy_identity": 0.0, + "cross_rank_family_interfaces": {"TET4_WEDGE6": 0, "WEDGE6_HEX8": 0} + }, + "mpi_2": { + "status": "PASS", + "free_residual": 2.785721919979543e-16, + "equilibrium": 1.9160195604656302e-16, + "energy_identity": 2.7755575615628914e-17, + "cross_rank_family_interfaces": {"TET4_WEDGE6": 0, "WEDGE6_HEX8": 1}, + "ghost_nodes_global_sum": 4 + }, + "mpi_4": { + "status": "PASS", + "free_residual": 1.200136759543661e-16, + "equilibrium": 1.908855834864458e-16, + "energy_identity": 0.0, + "cross_rank_family_interfaces": {"TET4_WEDGE6": 1, "WEDGE6_HEX8": 1}, + "ghost_nodes_global_sum": 7 + }, + "partition_invariance": { + "serial_vs_petsc_1_displacement_relative_l2": 2.2499312661442353e-22, + "serial_vs_petsc_1_reaction_relative_l2": 1.5069795760294545e-16, + "serial_vs_mpi_2_displacement_relative_l2": 4.085702871755285e-22, + "serial_vs_mpi_2_reaction_relative_l2": 3.137190311721911e-16, + "serial_vs_mpi_4_displacement_relative_l2": 2.458271674856295e-22, + "serial_vs_mpi_4_reaction_relative_l2": 2.197012922800696e-16, + "status": "PASS" + } + }, + "stage_a_49998_dof": { + "status": "FAIL", + "element_counts": {"TET4": 1, "WEDGE6": 3332, "HEX8": 3332}, + "connected_components": 1, + "interface_counts": {"TET4_WEDGE6": 1, "WEDGE6_HEX8": 3332}, + "cross_rank_family_interfaces": { + "mpi_1": {"TET4_WEDGE6": 0, "WEDGE6_HEX8": 0}, + "mpi_2": {"TET4_WEDGE6": 0, "WEDGE6_HEX8": 0}, + "mpi_4": {"TET4_WEDGE6": 0, "WEDGE6_HEX8": 0} + }, + "ghost_nodes_global_sum": {"mpi_1": 0, "mpi_2": 5, "mpi_4": 15}, + "mpi_1": { + "runtime_seconds": 18.073006679999708, + "peak_memory_mb": 288.28515625, + "iterations": 1, + "free_residual": 2.5741794818374375e-11, + "equilibrium": 6.798705461879565e-10, + "energy_identity": 3.5665914666083154e-13, + "gate_status": "FAIL_EQUILIBRIUM" + }, + "mpi_2": { + "runtime_seconds": 11.427822876999926, + "peak_memory_mb": 236.9453125, + "iterations": 1, + "free_residual": 2.601040197563168e-11, + "equilibrium": 6.755964550854925e-10, + "energy_identity": 8.060219158778636e-13, + "gate_status": "FAIL_EQUILIBRIUM" + }, + "mpi_4": { + "runtime_seconds": 6.727593073999742, + "peak_memory_mb": 205.70703125, + "iterations": 1, + "free_residual": 2.621011698382215e-11, + "equilibrium": 6.587795990334173e-10, + "energy_identity": 2.9742874829707944e-13, + "gate_status": "FAIL_EQUILIBRIUM" + }, + "frozen_equilibrium_gate": 1.0e-10, + "equilibrium_failure": "All three Stage-A partitions exceed the frozen 1e-10 relative force/component balance gate; no gate adjustment is applied.", + "partition_invariance": { + "mpi_1_vs_2_displacement_relative_l2": 3.993585385408244e-16, + "mpi_1_vs_2_reaction_relative_l2": 2.835887393088517e-11, + "mpi_1_vs_2_residual_relative_difference": 6.404206175975934e-11, + "mpi_1_vs_2_energy_relative_difference": 1.3367085216486885e-13, + "mpi_1_vs_4_displacement_relative_l2": 2.563608184863839e-15, + "mpi_1_vs_4_reaction_relative_l2": 4.552250201424403e-11, + "mpi_1_vs_4_residual_relative_difference": 7.419535488997313e-11, + "mpi_1_vs_4_energy_relative_difference": 1.050270981295398e-12, + "status": "PASS_WITHIN_FROZEN_PARTITION_GATES" + } + }, + "stage_b_150003_dof": {"status": "NOT_EXECUTED_ABORT_STAGE_A"}, + "stage_c_300003_dof": {"status": "NOT_EXECUTED_ABORT_STAGE_A"}, + "replays": { + "status": "NOT_EXECUTED_ABORT_STAGE_A", + "required": 2, + "reason": "The contract requires stopping after a Stage-A gate failure." + }, + "runtime_characteristics": { + "preallocation": "Exact PETSc row pattern; zero recorded reallocations on Stage A.", + "structural_global_gather": "NOT_PRESENT", + "result_exchange": "Result-only displacement/reaction exchange used for post-processing.", + "connected_runtime_evidence": "Control PASS; Stage A assembled and solved on MPI-1/2/4 but is not a passing campaign because equilibrium fails." + }, + "raw_run_records": { + "control_serial.json": "7d7158973f3f5676f7fdb4d040398c39d12ad845", + "control_mpi1.json": "a98a84838509f6b2ae1226f8bf80b873da0c5cc6", + "control_mpi2.json": "2c4196c5eabe939db3dccbf914b51c909f2677bd", + "control_mpi4.json": "14a5baf5f2cc3c1140ed3d884a79a65be49fdf70", + "stage_a_mpi1.json": "77d6df9f9846e971dca87eb5d78f22e898953ec7", + "stage_a_mpi1.npz": "d1d81f36aa8d28f29ee2f79ab63e724c7b948fce", + "stage_a_mpi2.json": "020569bef881d3c5947e58a3cf5cb3f82fdb4ec0", + "stage_a_mpi2.npz": "bbd87540f9c14b4211b45b2ed28628005fef835b", + "stage_a_mpi4.json": "1b4afb5e77a5e070079af90c669b1b8b132dbe20", + "stage_a_mpi4.npz": "8277daacb87e62ee313719bfbd6d63cc7c005ebf" + }, + "decision": { + "wp13_01g_status": "FAIL_STAGE_A", + "wp13_01_final_status": "CONNECTED_CONTROL_PASS_STAGE_A_BLOCKED", + "connected_confirmation": "NOT_CLOSED", + "claim_supported": "None beyond the prior WP13-01C2 runtime-plumbing-only claim.", + "next_step": "Diagnose the connected Stage-A equilibrium failure under a separate owner-approved remediation or contract decision; do not modify this frozen record or continue to Stage B/C." + } +} diff --git a/qualification/0_2_8/wp13_01i_microcheck.json b/qualification/0_2_8/wp13_01i_microcheck.json new file mode 100644 index 00000000..a300fbf3 --- /dev/null +++ b/qualification/0_2_8/wp13_01i_microcheck.json @@ -0,0 +1,169 @@ +{ + "schema_version": 1, + "record_id": "QF-028-WP13-01I-MICROCHECK", + "work_package": "WP13-01I", + "start_sha": "f2dfc4c1e4145f11a1954e68351d98e3238a763e", + "source_execution": "qualification/0_2_8/wp13_01g_runtime/stage_a_mpi2.npz", + "status": "NO_BUG_CONDITIONING_LIMITATION", + "contract_policy": { + "mesh_changed": false, + "geometry_changed": false, + "boundary_conditions_changed": false, + "loads_changed": false, + "element_ordering_changed": false, + "gate_changed": false, + "reference_displacement_fixed": true, + "full_test_suite": "DEFERRED_TO_WP13_FINAL_GATE" + }, + "microcheck_1_element_internal_forces": { + "status": "PASS_DIAGNOSTIC", + "current_path": "float64 local Ke @ u followed by ordinary per-DOF accumulation", + "stable_path": "same local forces followed by math.fsum per global DOF", + "high_precision_path": "diagnostic-only numpy.longdouble local products and accumulation", + "current_global_defect_N": [ + 5.095789674669504e-7, + 5.7863417168846354e-8, + -6.75576989124238e-5 + ], + "current_equilibrium_relative": 6.755964550854925e-10, + "stable_global_defect_N": [ + 2.3355823941528797e-7, + 1.4086845112615265e-7, + -6.622176215387299e-5 + ], + "stable_equilibrium_relative": 6.622232385031384e-10, + "high_precision_global_defect_N": [ + 3.321911208331585e-7, + 1.8478932861665243e-7, + -6.551424011558282e-5 + ], + "high_precision_equilibrium_relative": 6.55153429049942e-10, + "interpretation": "Stable accumulation reduces the metric by about two percent and long-double diagnostics by about three percent, but neither removes the defect or approaches the frozen gate. The final summation is not the dominant source." + }, + "family_decomposition": { + "TET4": { + "element_count": 1, + "internal_force_norm": 9282.778304043368, + "resultant_N": [0.0, 0.0, 0.0], + "current_vs_stable_max_abs": 0.0, + "rigid_translation_relative_error": 5.15231838474026e-17 + }, + "WEDGE6": { + "element_count": 3332, + "internal_force_norm": 20149.55839076479, + "resultant_N": [ + 2.7541227609617636e-7, + -5.625679477816448e-9, + -1.2585893273353577e-5 + ], + "current_vs_stable_max_abs": 0.0, + "rigid_translation_relative_error": 4.976479875795657e-16 + }, + "HEX8": { + "element_count": 3332, + "internal_force_norm": 72774.10213134153, + "resultant_N": [ + -4.186085789115168e-8, + 1.464941306039691e-7, + -5.363586842577206e-5 + ], + "current_vs_stable_max_abs": 0.0, + "rigid_translation_relative_error": 7.464720197898088e-16 + }, + "dominant_family": "HEX8", + "dominant_family_basis": "Largest Z resultant magnitude and largest local force population; no isolated family implementation error was found." + }, + "microcheck_2_ku_minus_f_vs_element_sum": { + "status": "PASS_DIAGNOSTIC_DIVERGENCE_QUANTIFIED", + "reference_path_a": { + "definition": "sparse assembled K multiplied by the fixed reference u, then minus F", + "free_l2": 2.0574069153682956e-6, + "free_max_abs": 1.1175870895385742e-7, + "constrained_l2": 44723.21661125155, + "constrained_max_abs": 26795.891060147434, + "resultant_N": [-99999.99999979386, 1.763442014635075e-8, -6.82723934914975e-5] + }, + "reference_path_b_current_element_sum": { + "free_l2": 1.831338914669621e-6, + "free_max_abs": 8.442475518677384e-8, + "constrained_l2": 44723.216611251206, + "constrained_max_abs": 26795.891060145528, + "resultant_N": [-99999.99999949042, 5.7863417168846354e-8, -6.75576989124238e-5] + }, + "reference_path_b_stable_element_sum": { + "free_l2": 1.8313386638567926e-6, + "free_max_abs": 8.442475518677384e-8, + "constrained_l2": 44723.216611251206, + "constrained_max_abs": 26795.891060145528, + "resultant_N": [-99999.99999976644, 1.4086845112615265e-7, -6.622176215387299e-5] + }, + "reference_path_b_high_precision": { + "free_l2": 1.7277569081716192e-6, + "free_max_abs": 9.427822078578174e-8, + "constrained_l2": 44723.216611251024, + "constrained_max_abs": 26795.89106014322, + "resultant_N": [-99999.99999966781, 1.8478932861665243e-7, -6.551424011558282e-5] + }, + "path_difference_current_element_vs_Ku": { + "free_l2": 1.5763006036765312e-6, + "free_max_abs": 7.956623448990285e-8, + "constrained_l2": 8.290513527207614e-7, + "constrained_max_abs": 4.020330379717052e-8, + "global_l2": 1.7810249124027213e-6 + }, + "conclusion": "Both paths show the same force scale and the same equilibrium failure. Their small difference is consistent with floating-point assembly/order effects, not a missing family contribution or a reaction-only defect." + }, + "rigid_translation_checks": { + "TET4": {"max_relative_error": 5.15231838474026e-17}, + "WEDGE6": {"max_relative_error": 4.976479875795657e-16}, + "HEX8": {"max_relative_error": 7.464720197898088e-16}, + "conclusion": "All sampled family kernels satisfy rigid translation checks at their local matrix roundoff scale." + }, + "error_localization": { + "by_family": "HEX8 dominant, WEDGE6 secondary, TET4 negligible", + "by_component": "Z dominant: about -6.76e-5 N; X and Y are below 6e-7 N", + "by_rank": { + "MPI-2-rank-0_reaction_resultant_N": [-19996.248754291544, -2938.1868563376765, 9256.931212666837], + "MPI-2-rank-1_reaction_resultant_N": [-80003.75124570844, 2938.1868563376843, -9256.931212666826], + "MPI-2_allreduce_vs_ordered_fsum_max_abs_N": 0.0 + }, + "by_interface_region": "NOT_ISOLATED; no separate interface residual observable was available. Family rigid-body checks show no unique interface or family implementation defect.", + "dominant_error_source": "HEX8/WEDGE6 local force cancellation under extreme axial aspect ratio, amplified by local stiffness scale separation", + "confidence": 88 + }, + "conditioning": { + "aspect_ratio": 3332.0, + "stiffness_abs_nonzero_range": [1.8730715366286544e-12, 104658979745829.7], + "stiffness_abs_range_ratio": 5.587559134778463e25, + "petsc_diagonal_scale_range": [0.02394348577794769, 1.0], + "condition_estimate": "NOT_COMPUTED", + "assessment": "Strongly ill-scaled local arithmetic is demonstrated; a matrix condition number was not computed and is not inferred." + }, + "decision": { + "bug_found": false, + "bug_type": "NO_NUMERICAL_BUG_PROVEN; CONDITIONING_AND_ROUNDOFF_LIMITATION", + "fix_applied": false, + "fix_description": "NO_SAFE_CODE_FIX. Stable accumulation, long-double diagnostics and independent K*u/F paths do not remove the defect. Changing precision or formulation would be a broader numerical change, not a justified micro-fix.", + "equilibrium_before": 6.755964550854925e-10, + "equilibrium_after": "NOT_APPLICABLE", + "residual_after": "NOT_RUN_NO_FIX", + "energy_after": "NOT_RUN_NO_FIX", + "partition_invariance_after": "NOT_RUN_NO_FIX", + "small_status": "PASS_EXISTING_EVIDENCE", + "stage_a_status": "FAIL_KEEP_STAGE_A_BLOCKED", + "wp13_01i_decision": "NO_BUG_CONDITIONING_LIMITATION", + "ready_for_owner_gate": false, + "blockers": [ + "Stage-A equilibrium remains above the unchanged 1e-10 relative gate.", + "No safe local code correction was demonstrated.", + "The benchmark's 3332:1 aspect ratio and 5.59e25 local stiffness magnitude range dominate the diagnostic interpretation." + ] + }, + "integrity": { + "numerical_source_changed": false, + "formulation_changed": false, + "gates_changed": false, + "benchmark_changed": false, + "evidence_0_2_7_changed": false + } +} diff --git a/qualification/0_2_8/wp13_01k_contract.json b/qualification/0_2_8/wp13_01k_contract.json new file mode 100644 index 00000000..41741477 --- /dev/null +++ b/qualification/0_2_8/wp13_01k_contract.json @@ -0,0 +1,52 @@ +{ + "contract_id": "WP13-01K-CONNECTED-MVP-001", + "creation_sha": "b5db3ab50ade0db9887c3d92d8a5eb72362cbb54", + "status": "PREDECLARED", + "geometry": "Compact elbow: HEX8 box [0,1]x[-1,0]x[0,1]; WEDGE6 right triangular prism x>=0,y>=0,x+y<=1,z in [0,2]; TET4 continuation of that prism z in [2,3]. SI metres. A full unit WEDGE6-only buffer separates TET4 from every HEX8 node, including edges/corners.", + "mesh": "Uniform integer lattice spacing h=1/n in all directions, globally shared nodes. Box cells become HEX8. XY right triangles extruded one layer become WEDGE6. Above z=2 each prism is split into three tetrahedra by ascending global bottom-node ordering: abcC, abBC, aABC; swap first two vertices for positive determinant. Face diagonals on adjacent tetra prisms follow the same node ordering.", + "element_order": "sort by ((i+j+k)%4,k,j,i,local_subcell); generic contiguous element partition, no reorder after results", + "stages": {"small": {"n": 1, "dof": 48}, "stage_a": {"n": 10, "dof": 9768}, "stage_b": {"n": 18, "dof": 50844}}, + "optional_stages": "Not scheduled: 50k is the declared MVP target; no automatic 150k/300k escalation.", + "material": {"type": "isotropic_3d", "E": 210000000000.0, "nu": 0.3, "density": 7800.0}, + "boundary_conditions": "All UX,UY,UZ fixed only on HEX8 y=-1 surface.", + "loads": "Total +100000 N in UZ on TET4 z=3 surface, equally divided over its nodes. No other loads or supports.", + "load_path": "LOAD -> TET4 -> triangular z=2 interface -> WEDGE6 -> quadrilateral y=0,z<=1 interface -> HEX8 -> SUPPORT. Region adjacency is a chain; TET4 and HEX8 have no common node. Removing WEDGE6 disconnects load from support.", + "conditioning_acceptance": { + "timing": "Geometry and stiffness-only inspection before each solve; no displacement used.", + "max_element_edge_aspect": 4.0, + "max_affine_jacobian_condition": 10.0, + "min_detJ_over_h_cubed": 0.05, + "max_detJ_over_h_cubed": 2.0, + "max_positive_assembled_diagonal_ratio": 1000.0, + "note": "TET Jacobian uses reference simplex, WEDGE reference triangle times [-1,1], HEX [-1,1]^3. Inspect all elements. Diagonal ratio is not a global condition number. Global condition number not required or inferred from near-zero stiffness entries." + }, + "solver": "Unmodified run_wp13_01c_runtime._petsc_run, pc_type=lu, ksp_type=auto, residual_refinement_steps=2, no PETSc option overrides; serial GlobalAssembler control.", + "gates": { + "equilibrium_formula": "norm(sum(R_fixed)+sum(F),2)/max(norm(sum(F),2),1 N)", + "equilibrium": 1e-10, + "free_residual": 1e-10, + "energy_identity": 1e-10, + "partition_displacement_relative_l2": 1e-10, + "partition_reaction_relative_l2": 1e-10, + "partition_energy_relative": 1e-10, + "interface_nodal_force_jump_over_external_load_norm": 1e-10, + "interface_resultant_transfer_relative": 1e-10, + "interface_displacement_jump": 0.0, + "interface_check": "Unique shared DOFs; independent family internal-force accumulation; pairwise nodal forces cancel at shared interfaces; each family transmits the applied resultant. Cross-rank faces and ghost nodes nonzero for MPI runs.", + "connected_components": 1, + "reallocations": 0, + "replay_displacement_relative_l2": 1e-12, + "replay_reaction_relative_l2": 1e-12, + "replay_energy_relative": 1e-12, + "replay_residual_absolute_difference": 1e-12, + "replay_iterations": "same convergence and identical iterations for direct solver", + "relative_comparison": "norm(a-b)/max(norm(a),norm(b),float64 tiny); energy uses analogous scalar formula", + "raw_bitwise": "diagnostic only", + "force_summation": "Report normal numpy sum and math.fsum independently; both must meet the equilibrium gate, no silent replacement." + }, + "runs": {"small": ["serial",1,2,4], "stage_a": [1,2,4], "stage_b": [2,4], "replays": "Two additional MPI-2 runs of largest PASS stage"}, + "memory_policy": "No structural MPI gather of K/connectivity. Existing replicated input model and global solution scatter/result gathers must be disclosed, including their scalability limitation. No claim that replicated input is absent.", + "abort": ["failed conditioning gate before solve", "small or stage gate fails: stop escalation", "partition/interface/replay failure", "unsupported backend or silent fallback", "resource exhaustion", "no further connected benchmark if this one fails"], + "claim": "Only bounded connected compact-elbow linear-static mixed TET4/WEDGE6/HEX8 PETSc/MPI evidence at actually passed size and ranks; Owner approval separate; no industrial generality, no maturity change.", + "history": "All earlier contracts and FAIL results and 0.2.7 evidence remain unchanged." +} diff --git a/qualification/0_2_8/wp13_01k_execution.json b/qualification/0_2_8/wp13_01k_execution.json new file mode 100644 index 00000000..09a7f991 --- /dev/null +++ b/qualification/0_2_8/wp13_01k_execution.json @@ -0,0 +1,35674 @@ +{ + "work_package": "WP13-01K", + "start_sha": "b5db3ab50ade0db9887c3d92d8a5eb72362cbb54", + "pre_run_contract_sha": "1b21d695b236e6835cf5a952b2e41db7f17c8e1b", + "contract_id": "WP13-01K-CONNECTED-MVP-001", + "status": "PASS_CONNECTED_MVP_50K", + "ready_for_final_owner": true, + "contract_changed_after_results": false, + "runtime_environment": { + "image": "qf-solver-large:0.2.0", + "image_id": "sha256:9efd68c16474925744fabf507c9de6018b71738887921e27e53701bd22ae45de", + "PETSc": "3.25.1", + "petsc4py": "3.25.1", + "mpi4py": "4.1.2", + "MPI": "MPICH 5.0.1", + "docker_cpus": 12, + "docker_memory_bytes": 50458107904, + "OPENBLAS_NUM_THREADS": 1, + "OMP_NUM_THREADS": 1, + "run_command": "mpiexec -n python scripts/run_wp13_01k_mvp.py --case --label