diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8e8295ea..1e3fa98c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,39 +7,34 @@ on: branches: [main] jobs: - lint: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.8", "3.9", "3.10"] - - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Run lint - uses: pre-commit/action@v3.0.0 - test: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10"] + python-version: ["3.11", "3.12", "3.13"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Update pip and setuptools + run: pip install --upgrade pip setuptools + - name: Setup environment + run: pip install -e .[test] + - name: Run doctests + run: pytest --doctest-modules --ignore=causalpy/tests/ causalpy/ --config-file=causalpy/tests/conftest.py + - name: Run extra tests + run: pytest docs/source/.codespell/test_notebook_to_markdown.py - name: Run tests + run: pytest --cov-report=xml --no-cov-on-fail + - name: Check codespell for notebooks run: | - pip install -e .[test] - pytest --cov-report=xml --no-cov-on-fail + python ./docs/source/.codespell/notebook_to_markdown.py --tempdir tmp_markdown + codespell - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads name: ${{ matrix.python-version }} diff --git a/.github/workflows/label-precommit-prs.yml b/.github/workflows/label-precommit-prs.yml new file mode 100644 index 00000000..1f7ab490 --- /dev/null +++ b/.github/workflows/label-precommit-prs.yml @@ -0,0 +1,18 @@ +name: Label Pre-Commit PRs + +on: + pull_request: + types: [opened, synchronize] + +jobs: + label: + if: github.actor == 'pre-commit-ci[bot]' + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - name: Add "no releasenotes" label + uses: actions-ecosystem/action-add-labels@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + labels: no releasenotes diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 67ca048e..1010d3fd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,7 @@ name: PyPI release + on: + workflow_dispatch: pull_request: branches: [main] push: @@ -12,57 +14,59 @@ jobs: name: Build source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.11 - name: Build the sdist and the wheel run: | pip install build python -m build + ls dist # List the contents of the dist directory - name: Check the sdist installs and imports run: | mkdir -p test-sdist cd test-sdist python -m venv venv-sdist - venv-sdist/bin/python -m pip install ../dist/CausalPy*.tar.gz + venv-sdist/bin/python -m pip install ../dist/causalpy*.tar.gz echo "Checking import and version number (on release)" - venv-sdist/bin/python -c "import causalpy; assert causalpy.__version__ == '${{ github.ref_name }}' if '${{ github.ref_type }}' == 'tag' else causalpy.__version__; print(causalpy.__version__)" + venv-sdist/bin/python -c "import causalpy; assert causalpy.__version__ == '${{ github.ref_name }}' if '${{ github.ref_type }}' == 'tag' else causalpy.__version__; print(causalpy.__version__)" cd .. - name: Check the bdist installs and imports run: | mkdir -p test-bdist cd test-bdist python -m venv venv-bdist - venv-bdist/bin/python -m pip install ../dist/CausalPy*.whl + venv-bdist/bin/python -m pip install ../dist/causalpy*.whl echo "Checking import and version number (on release)" - venv-bdist/bin/python -c "import causalpy; assert causalpy.__version__ == '${{ github.ref_name }}' if '${{ github.ref_type }}' == 'tag' else causalpy.__version__; print(causalpy.__version__)" + venv-bdist/bin/python -c "import causalpy; assert causalpy.__version__ == '${{ github.ref_name }}' if '${{ github.ref_type }}' == 'tag' else causalpy.__version__; print(causalpy.__version__)" cd .. - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: artifact path: dist/* + test: name: Upload to Test PyPI + permissions: + id-token: write needs: [build] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: artifact path: dist - uses: pypa/gh-action-pypi-publish@release/v1 with: skip_existing: true - user: __token__ - password: ${{ secrets.TEST_PYPI_API_TOKEN }} repository_url: https://test.pypi.org/legacy/ - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.11 - name: Test pip install from test.pypi run: | # Give time to test.pypi to update its index. If we don't wait, @@ -71,19 +75,19 @@ jobs: python -m venv venv-test-pypi venv-test-pypi/bin/python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple causalpy echo "Checking import and version number" - venv-test-pypi/bin/python -c "import causalpy; assert causalpy.__version__ == '${{ github.ref_name }}'" + venv-test-pypi/bin/python -c "import causalpy; assert causalpy.__version__ == '${{ github.ref_name }}'" publish: + environment: release + permissions: + id-token: write name: Upload release to PyPI needs: [build, test] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: artifact path: dist - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/rtd-link-preview.yml b/.github/workflows/rtd-link-preview.yml new file mode 100644 index 00000000..cd29addf --- /dev/null +++ b/.github/workflows/rtd-link-preview.yml @@ -0,0 +1,16 @@ +name: Read the Docs Pull Request Preview +on: + pull_request_target: + types: + - opened + +permissions: + pull-requests: write + +jobs: + documentation-links: + runs-on: ubuntu-latest + steps: + - uses: readthedocs/actions/preview@v1 + with: + project-slug: "causalpy" diff --git a/.github/workflows/uml.yml b/.github/workflows/uml.yml new file mode 100644 index 00000000..57ee4d04 --- /dev/null +++ b/.github/workflows/uml.yml @@ -0,0 +1,73 @@ +name: Update the UML Diagrams +on: + workflow_dispatch: + schedule: + - cron: '0 12 * * 1' + +jobs: + build: + runs-on: ubuntu-latest + permissions: write-all + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + with: + ref: main + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install 'causalpy[docs]' + sudo apt-get update && sudo apt-get install -y graphviz + + - name: Install pylint explicitly + run: python -m pip install pylint + + - name: Verify pylint and pyreverse + run: | + python -m pip show pylint + which pyreverse + pyreverse --version + + - name: Configure Git Identity + run: | + git config user.name 'github-actions[bot]' + git config user.email 'github-actions[bot]@users.noreply.github.com' + + - name: Update the UML Diagrams + run: | + make uml + + - name: Detect UML changes + id: changes + run: | + git add docs/source/_static/*.png + if git diff --staged --exit-code; then + echo "No changes to commit" + echo "changes_exist=false" >> $GITHUB_OUTPUT + else + echo "changes_exist=true" >> $GITHUB_OUTPUT + fi + + - name: Create PR for changes + if: steps.changes.outputs.changes_exist == 'true' + run: | + git checkout -b update-uml-diagrams + git commit -m "Update UML Diagrams" + git push -u origin update-uml-diagrams + gh pr create \ + --base main \ + --title "Update UML Diagrams" \ + --body "This PR updates the UML diagrams + This PR was created automatically by the [UML workflow](https://github.com/pymc-labs/CausalPy/blob/main/.github/workflows/uml.yml). + See the logs [here](https://github.com/pymc-labs/CausalPy/actions/workflows/uml.yml) for more details." \ + --label "no releasenotes" \ + --reviewer drbenvincent + env: + GH_TOKEN: ${{ github.token }} diff --git a/.gitignore b/.gitignore index ae7fdc26..9a6b0579 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,11 @@ _build *.egg-info build/ dist/ -docs/_build/ *.vscode .coverage +*.jupyterlab-workspace + +# Sphinx documentation +docs/build/ +docs/jupyter_execute/ +docs/source/api/generated/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e40b1a32..17848f5b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,42 +1,57 @@ +ci: + autofix_prs: false + # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 - hooks: - - id: trailing-whitespace - exclude_types: [svg] - - id: end-of-file-fixer - exclude_types: [svg] - - id: check-yaml - - id: check-added-large-files - - repo: https://github.com/pycqa/isort - rev: 5.12.0 - hooks: - - id: isort - args: [--profile, black] - types: [python] - - repo: https://github.com/ambv/black - rev: 23.3.0 - hooks: - - id: black - - repo: https://github.com/pycqa/flake8 - rev: 6.0.0 - hooks: - - id: flake8 - - repo: https://github.com/nbQA-dev/nbQA - rev: 1.7.0 - hooks: - - id: nbqa-black - # additional_dependencies: [jupytext] # optional, only if you're using Jupytext - - id: nbqa-pyupgrade - args: ["--py37-plus"] - - id: nbqa-isort - args: ["--float-to-top"] - - repo: https://github.com/econchick/interrogate - rev: 1.5.0 - hooks: - - id: interrogate - # needed to make excludes in pyproject.toml work - # see here https://github.com/econchick/interrogate/issues/60#issuecomment-735436566 - pass_filenames: false + - repo: https://github.com/lucianopaz/head_of_apache + rev: "0.1.1" + hooks: + - id: head_of_apache + args: + - --author=The PyMC Labs Developers + - --exclude=docs/ + - --exclude=scripts/ + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: debug-statements + - id: trailing-whitespace + exclude_types: [svg] + - id: end-of-file-fixer + exclude_types: [svg] + - id: check-yaml + - id: check-added-large-files + exclude: &exclude_pattern '(iv_weak_instruments|its_lift_test)\.ipynb' + args: ["--maxkb=1500"] + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.5 + hooks: + # Run the linter + - id: ruff + types_or: [ python, pyi, jupyter ] + args: [ --fix ] + # Run the formatter + - id: ruff-format + types_or: [ python, pyi, jupyter ] + - repo: https://github.com/econchick/interrogate + rev: 1.7.0 + hooks: + - id: interrogate + # needed to make excludes in pyproject.toml work + # see here https://github.com/econchick/interrogate/issues/60#issuecomment-735436566 + pass_filenames: false + - repo: https://github.com/codespell-project/codespell + rev: v2.4.1 + hooks: + - id: codespell + additional_dependencies: + # Support pyproject.toml configuration + - tomli + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.18.2 + hooks: + - id: mypy + args: [--ignore-missing-imports] + files: ^causalpy/ + additional_dependencies: [numpy>=1.20, pandas-stubs] diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 87d4dd22..97c4f5a3 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,9 +7,9 @@ version: 2 # Set the version of Python and other tools you might need build: - os: ubuntu-20.04 + os: ubuntu-lts-latest tools: - python: "3.10" + python: "3.11" # You can also specify other tool versions: # nodejs: "16" # rust: "1.55" diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..9baa28eb --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,52 @@ +# AGENTS + +## Testing preferences + +- Write all Python tests as `pytest` style functions, not unittest classes +- Use descriptive function names starting with `test_` +- Prefer fixtures over setup/teardown methods +- Use assert statements directly, not self.assertEqual + +## Testing approach + +- Never create throwaway test scripts or ad hoc verification files +- If you need to test functionality, write a proper test in the test suite +- All tests go in the `causalpy/tests/` directory following the project structure +- Tests should be runnable with the rest of the suite (`python -m pytest`) +- Even for quick verification, write it as a real test that provides ongoing value +- Preference should be given to integration tests, but unit tests are acceptable for core functionality to maintain high code coverage. +- Tests should remain quick to run. Tests involving MCMC sampling with PyMC should use custom `sample_kwargs` to minimize the computational load. + +## Documentation + +- **Structure**: Notebooks (how-to examples) go in `docs/source/notebooks/`, knowledgebase (educational content) goes in `docs/source/knowledgebase/` +- **Notebook naming**: Use pattern `{method}_{model}.ipynb` (e.g., `did_pymc.ipynb`, `rd_skl.ipynb`), organized by causal method +- **MyST directives**: Use `:::{note}` and other MyST features for callouts and formatting +- **Glossary linking**: Link to glossary terms (defined in `glossary.rst`) on first mention in a file: + - In Markdown files (`.md`, `.ipynb`): Use MyST syntax `{term}glossary term`` + - In RST files (`.rst`): Use Sphinx syntax `:term:`glossary term`` +- **Cross-references**: For other cross-references in Markdown files, use MyST role syntax with curly braces (e.g., `{doc}path/to/doc`, `{ref}label-name`) +- **Citations**: Use `references.bib` for citations, cite sources in example notebooks where possible. Include reference section at bottom of notebooks using `:::{bibliography}` directive with `:filter: docname in docnames` +- **API documentation**: Auto-generated from docstrings via Sphinx autodoc, no manual API docs needed +- **Build**: Use `make html` to build documentation +- **Doctest**: Use `make doctest` to test that Python examples in doctests work + +## Code structure and style + +- **Experiment classes**: All experiment classes inherit from `BaseExperiment` in `causalpy/experiments/`. Must declare `supports_ols` and `supports_bayes` class attributes. Only implement abstract methods for supported model types (e.g., if only Bayesian is supported, implement `_bayesian_plot()` and `get_plot_data_bayesian()`; if only OLS is supported, implement `_ols_plot()` and `get_plot_data_ols()`) +- **Model-agnostic design**: Experiment classes should work with both PyMC and scikit-learn models. Use `isinstance(self.model, PyMCModel)` vs `isinstance(self.model, RegressorMixin)` to dispatch to appropriate implementations +- **Model classes**: PyMC models inherit from `PyMCModel` (extends `pm.Model`). Scikit-learn models use `RegressorMixin` and are made compatible via `create_causalpy_compatible_class()`. Common interface: `fit()`, `predict()`, `score()`, `calculate_impact()`, `print_coefficients()` +- **Data handling**: PyMC models use `xarray.DataArray` with coords (keys like "coeffs", "obs_ind", "treated_units"). Scikit-learn models use numpy arrays. Data index should be named "obs_ind" +- **Formulas**: Use patsy for formula parsing (via `dmatrices()`) +- **Custom exceptions**: Use project-specific exceptions from `causalpy.custom_exceptions`: `FormulaException`, `DataException`, `BadIndexException` +- **File organization**: Experiments in `causalpy/experiments/`, PyMC models in `causalpy/pymc_models.py`, scikit-learn models in `causalpy/skl_models.py` + +## Type Checking + +- **Tool**: MyPy +- **Configuration**: Integrated as a pre-commit hook. +- **Scope**: Checks Python files within the `causalpy/` directory. +- **Settings**: + - `ignore-missing-imports`: Enabled to allow for gradual adoption of type hints without requiring all third-party libraries to have stubs. + - `additional_dependencies`: Includes `numpy` and `pandas-stubs` to provide type information for these libraries. +- **Execution**: Run automatically via `pre-commit run --all-files` or on commit. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 29a345f9..a0bb3962 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,6 +17,9 @@ We appreciate being notified of problems with the existing CausalPy code. We pre Please verify that your issue is not being currently addressed by other issues or pull requests by using the GitHub search tool to look for key words in the project issue tracker. +## Use of agents +PR's with agent-generated code are fine. But don't spam us with code you don't understand. See [AGENTS.md](./AGENTS.md) for how we use LLMs in this repo. + ## Contributing code via pull requests While issue reporting is valuable, we strongly encourage users who are inclined to do so to submit patches for new or existing issues via pull requests. This is particularly the case for simple fixes, such as typos or tweaks to documentation, which do not require a heavy investment of time and attention. @@ -47,10 +50,10 @@ For more instructions see the [Pull request checklist](#pull-request-checklist) Always use a feature branch. It's good practice to never routinely work on the `main` branch of any repository. -1. Create a new environment using Python >=3.8, for example 3.11 +1. Create the environment from the `environment.yml` file. ```bash - conda create --name CausalPy python=3.11 + mamba env create -f environment.yml ``` Activate the environment. @@ -59,19 +62,20 @@ For more instructions see the [Pull request checklist](#pull-request-checklist) conda activate CausalPy ``` - Install the package (in editable mode) and its development dependencies: + Install the package (in editable mode) and its development dependencies. The `--no-deps` flag is used to avoid installing the dependencies of `CausalPy` as they are already installed when installing the development dependencies. This can end up interfering with the conda-only install of pymc. ```bash - pip install -e . + pip install --no-deps -e . ``` Install development dependencies - ``` + ```bash pip install 'causalpy[dev]' pip install 'causalpy[docs]' pip install 'causalpy[test]' pip install 'causalpy[lint]' + pip install 'pylint' ``` It may also be necessary to [install](https://pandoc.org/installing.html) `pandoc`. On a mac, run `brew install pandoc`. @@ -121,6 +125,20 @@ We recommend that your contribution complies with the following guidelines befor - All public methods must have informative docstrings with sample usage when appropriate. +- Example usage in docstrings is tested via doctest, which can be run via + + ```bash + make doctest + ``` + +- Doctest can also be run directly via pytest, which can be helpful to run only specific tests during development. The following commands run all doctests, only doctests in the pymc_models module, and only the doctests for the `PyMCModel` class in pymc_models: + + ```bash + pytest --doctest-modules causalpy/ + pytest --doctest-modules causalpy/pymc_models.py + pytest --doctest-modules causalpy/pmyc_models.py::causalpy.pymc_models.PyMCModel + ``` + - To indicate a work in progress please mark the PR as `draft`. Drafts may be useful to (1) indicate you are working on something to avoid duplicated work, (2) request broad review of functionality or API, or (3) seek collaborators. - All other tests pass when everything is rebuilt from scratch. Tests can be run with: @@ -152,20 +170,19 @@ We recommend that your contribution complies with the following guidelines befor ## Building the documentation locally -A local build of the docs is achieved by: +To build the documentation, run from the **project root**: ```bash -cd docs make html ``` - -Sometimes not all changes are recognised. In that case run this (again from within the `docs` folder): - +To clean and rebuild the documentation from scratch: ```bash -make clean && make html +make cleandocs +make html ``` + Docs are built in docs/_build/html, but these docs are not committed to the GitHub repository due to .gitignore. -Docs are built in `docs/_build`, but these docs are _not_ committed to the GitHub repository due to `.gitignore`. + 📌 Note: The previous docs/Makefile has been removed. Please use only the root-level Makefile for documentation commands ## Overview of code structure diff --git a/Makefile b/Makefile index b2b562e9..604b0532 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,50 @@ -.PHONY: init lint check_lint test - -init: - python -m pip install -e . - -lint: - pip install causalpy[lint] - isort . - black . - -check_lint: - pip install causalpy[lint] - flake8 . - isort --check-only . - black --diff --check --fast . - nbqa black --check . - nbqa isort --check-only . +################################################################################# +# GLOBALS # +################################################################################# + +PACKAGE_DIR = causalpy + +################################################################################# +# COMMANDS # +################################################################################# + +.PHONY: init lint check_lint test uml html cleandocs doctest help + +init: ## Install the package in editable mode + python -m pip install -e . --no-deps + +lint: ## Run ruff linter and formatter + ruff check --fix . + ruff format . + +check_lint: ## Check code formatting and linting without making changes + ruff check . + ruff format --diff --check . interrogate . -test: - pip install causalpy[test] - pytest +doctest: ## Run doctests for the causalpy module + python -m pytest --doctest-modules --ignore=causalpy/tests/ causalpy/ --config-file=causalpy/tests/conftest.py + +test: ## Run all tests with pytest + python -m pytest -uml: - pip install pylint +uml: ## Generate UML diagrams from code pyreverse -o png causalpy --output-directory docs/source/_static --ignore tests + +html: ## Build HTML documentation with Sphinx + sphinx-build -b html docs/source docs/_build + +cleandocs: ## Clean the documentation build directories + rm -rf docs/_build + rm -rf docs/source/api/generated + + +################################################################################# +# Self Documenting Commands # +################################################################################# + +.DEFAULT_GOAL := help + +help: ## Show this help message + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ + awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}' diff --git a/README.md b/README.md index 411bec23..deefaa9d 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@
---- - -[](https://github.com/psf/black) + +[](https://github.com/astral-sh/ruff) [](https://badge.fury.io/py/CausalPy)   @@ -17,22 +17,6 @@ A Python package focussing on causal inference in quasi-experimental settings. The package allows for sophisticated Bayesian model fitting methods to be used in addition to traditional OLS. -_**STATUS:** Feel free to explore and experiment with the repository, and we very much welcome feedback (via [Issues](https://github.com/pymc-labs/CausalPy/issues)). But be aware that this code is very alpha! Expect the codebase and API to change for a while, so it is not appropriate to rely on this package for in-production or research pipelines._ - -## Comparison to related packages - -Rather than focussing on one particular quasi-experimental setting, this package aims to have broad applicability. - -Another distinctive feature of this package is the ability to use different models. Currently, users can fit with `scikit-learn` models or Bayesian models with `PyMC`. - -| | [CausalImpact](https://google.github.io/CausalImpact/) from Google | [GeoLift](https://github.com/facebookincubator/GeoLift/) from Meta | CausalPy from [PyMC Labs](https://www.pymc-labs.io) | -|---------------------------|--------------------------------|---------|----------------------------------------| -| Synthetic control | ✅ | ✅ | ✅ | -| Regression discontinuity | ❌ | ❌ | ✅ | -| Difference in differences | ❌ | ❌ | ✅ | -| Language | R (but see [tfcausalimpact](https://github.com/WillianFuks/tfcausalimpact)) | R | Python | -| Models | Bayesian structural timeseries | Augmented synthetic control | Flexible: Traditional OLS and Bayesian models | - ## Installation To get the latest release: @@ -50,7 +34,7 @@ pip install git+https://github.com/pymc-labs/CausalPy.git ```python import causalpy as cp - +import matplotlib.pyplot as plt # Import and process data df = ( @@ -60,7 +44,7 @@ df = ( ) # Run the analysis -result = cp.pymc_experiments.RegressionDiscontinuity( +result = cp.RegressionDiscontinuity( df, formula="all ~ 1 + age + treated", running_variable_name="age", @@ -73,6 +57,8 @@ fig, ax = result.plot(); # Get a results summary result.summary() + +plt.show() ``` ## Roadmap @@ -83,112 +69,21 @@ Plans for the repository can be seen in the [Issues](https://github.com/pymc-lab Click on the thumbnail below to watch a video about CausalPy on YouTube. [](https://www.youtube.com/watch?v=gV6wzTk3o1U) -## Overview of package capabilities - -### Synthetic control -This is appropriate when you have multiple units, one of which is treated. You build a synthetic control as a weighted combination of the untreated units. - -| Time | Outcome | Control 1 | Control 2 | Control 3 | -|------|-----------|-----------|-----------|-----------| -| 0 | $y_0$ | $x_{1,0}$ | $x_{2,0}$ | $x_{3,0}$ | -| 1 | $y_1$ | $x_{1,1}$ | $x_{2,1}$ | $x_{3,1}$ | -|$\ldots$ | $\ldots$ | $\ldots$ | $\ldots$ | $\ldots$ | -| T | $y_T$ | $x_{1,T}$ | $x_{2,T}$ | $x_{3,T}$ | - - -| Frequentist | Bayesian | -|--|--| -|  |  | - -> The data (treated and untreated units), pre-treatment model fit, and counterfactual (i.e. the synthetic control) are plotted (top). The causal impact is shown as a blue shaded region. The Bayesian analysis shows shaded Bayesian credible regions of the model fit and counterfactual. Also shown is the causal impact (middle) and cumulative causal impact (bottom). - -### Geographical lift (Geolift) -We can also use synthetic control methods to analyse data from geographical lift studies. For example, we can try to evaluate the causal impact of an intervention (e.g. a marketing campaign) run in one geographical area by using control geographical areas which are similar to the intervention area but which did not recieve the specific marketing intervention. - -### ANCOVA - -This is appropriate for non-equivalent group designs when you have a single pre and post intervention measurement and have a treament and a control group. - -| Group | pre | post | -|------|---|-------| -| 0 | $x_1$ | $y_1$ | -| 0 | $x_2$ | $y_2$ | -| 1 | $x_3$ | $y_3$ | -| 1 | $x_4$ | $y_4$ | - -| Frequentist | Bayesian | -|--|--| -| coming soon |  | - -> The data from the control and treatment group are plotted, along with posterior predictive 94% credible intervals. The lower panel shows the estimated treatment effect. - -### Difference in Differences - -This is appropriate for non-equivalent group designs when you have pre and post intervention measurement and have a treament and a control group. Unlike the ANCOVA approach, difference in differences is appropriate when there are multiple pre and/or post treatment measurements. - -Data is expected to be in the following form. Shown are just two units - one in the treated group (`group=1`) and one in the untreated group (`group=0`), but there can of course be multiple units per group. This is panel data (also known as repeated measures) where each unit is measured at 2 time points. - -| Unit | Time | Group | Outcome | -|------|---|-------|-----------| -| 0 | 0 | 0 | $y_{0,0}$ | -| 0 | 1 | 0 | $y_{0,0}$ | -| 1 | 0 | 1 | $y_{1,0}$ | -| 1 | 1 | 1 | $y_{1,1}$ | - -| Frequentist | Bayesian | -|--|--| -|  |  | - ->The data, model fit, and counterfactual are plotted. Frequentist model fits result in points estimates, but the Bayesian analysis results in posterior distributions, represented by the violin plots. The causal impact is the difference between the counterfactual prediction (treated group, post treatment) and the observed values for the treated group, post treatment. - -### Regression discontinuity designs - -Regression discontinuity designs are used when treatment is applied to units according to a cutoff on the running variable (e.g. $x$) which is typically _not_ time. By looking for the presence of a discontinuity at the precise point of the treatment cutoff then we can make causal claims about the potential impact of the treatment. - -| Running variable | Outcome | Treated | -|-----------|-----------|----------| -| $x_0$ | $y_0$ | False | -| $x_1$ | $y_0$ | False | -| $\ldots$ | $\ldots$ | $\ldots$ | -| $x_{N-1}$ | $y_{N-1}$ | True | -| $x_N$ | $y_N$ | True | - - -| Frequentist | Bayesian | -|--|--| -|  |  | - -> The data, model fit, and counterfactual are plotted (top). Frequentist analysis shows the causal impact with the blue shaded region, but this is not shown in the Bayesian analysis to avoid a cluttered chart. Instead, the Bayesian analysis shows shaded Bayesian credible regions of the model fits. The Frequentist analysis visualises the point estimate of the causal impact, but the Bayesian analysis also plots the posterior distribution of the regression discontinuity effect (bottom). - -### Interrupted time series - -Interrupted time series analysis is appropriate when you have a time series of observations which undergo treatment at a particular point in time. This kind of analysis has no control group and looks for the presence of a change in the outcome measure at or soon after the treatment time. Multiple predictors can be included. - -| Time | Outcome | Treated | Predictor | -|-----------|-----------|----------|----------| -| $t_0$ | $y_0$ | False | $x_0$ | -| $t_1$ | $y_0$ | False | $x_1$ | -| $\ldots$ | $\ldots$ | $\ldots$ | $\ldots$ | -| $t_{N-1}$ | $y_{N-1}$ | True | $x_{N-1}$ | -| $t_N$ | $y_N$ | True | $x_N$ | - - -| Frequentist | Bayesian | -|--|--| -| coming soon |  | - -> The data, pre-treatment model fit, and counterfactual are plotted (top). The causal impact is shown as a blue shaded region. The Bayesian analysis shows shaded Bayesian credible regions of the model fit and counterfactual. Also shown is the causal impact (middle) and cumulative causal impact (bottom). - -## Learning resources +## Features -Here are some general resources about causal inference: +CausalPy has a broad range of quasi-experimental methods for causal inference: -* The official [PyMC examples gallery](https://www.pymc.io/projects/examples/en/latest/gallery.html) has a set of examples specifically relating to causal inference. -* Angrist, J. D., & Pischke, J. S. (2009). Mostly harmless econometrics: An empiricist's companion. Princeton university press. -* Angrist, J. D., & Pischke, J. S. (2014). Mastering'metrics: The path from cause to effect. Princeton university press. -* Cunningham, S. (2021). [Causal inference: The Mixtape](https://mixtape.scunning.com). Yale University Press. -* Huntington-Klein, N. (2021). [The effect: An introduction to research design and causality](https://theeffectbook.net). Chapman and Hall/CRC. -* Reichardt, C. S. (2019). Quasi-experimentation: A guide to design and analysis. Guilford Publications. +| Method | Description | +|-|-| +| Synthetic control | Constructs a synthetic version of the treatment group from a weighted combination of control units. Used for causal inference in comparative case studies when a single unit is treated, and there are multiple control units.| +| Geographical lift | Measures the impact of an intervention in a specific geographic area by comparing it to similar areas without the intervention. Commonly used in marketing to assess regional campaigns. | +| ANCOVA | Analysis of Covariance combines ANOVA and regression to control for the effects of one or more quantitative covariates. Used when comparing group means while controlling for other variables. | +| Differences in Differences | Compares the changes in outcomes over time between a treatment group and a control group. Used in observational studies to estimate causal effects by accounting for time trends. | +| Regression discontinuity | Identifies causal effects by exploiting a cutoff or threshold in an assignment variable. Used when treatment is assigned based on a threshold value of an observed variable, allowing comparison just above and below the cutoff. | +| Regression kink designs | Focuses on changes in the slope (kinks) of the relationship between variables rather than jumps at cutoff points. Used to identify causal effects when treatment intensity changes at a threshold. | +| Interrupted time series | Analyzes the effect of an intervention by comparing time series data before and after the intervention. Used when data is collected over time and an intervention occurs at a known point, allowing assessment of changes in level or trend. | +| Instrumental variable regression | Addresses endogeneity by using an instrument variable that is correlated with the endogenous explanatory variable but uncorrelated with the error term. Used when explanatory variables are correlated with the error term, providing consistent estimates of causal effects. | +| Inverse Propensity Score Weighting | Weights observations by the inverse of the probability of receiving the treatment. Used in causal inference to create a synthetic sample where the treatment assignment is independent of measured covariates, helping to adjust for confounding variables in observational studies. | ## License @@ -198,8 +93,8 @@ Here are some general resources about causal inference: ## Support -
+
-This repository is supported by [PyMC Labs](https://www.pymc-labs.io).
+This repository is supported by [PyMC Labs](https://www.pymc-labs.com).
-If you are interested in seeing what PyMC Labs can do for you, then please email [ben.vincent@pymc-labs.io](mailto:ben.vincent@pymc-labs.io). We work with companies at a variety of scales and with varying levels of existing modeling capacity. We also run corporate workshop training events and can provide sessions ranging from introduction to Bayes to more advanced topics.
+If you are interested in seeing what PyMC Labs can do for you, then please email [ben.vincent@pymc-labs.com](mailto:ben.vincent@pymc-labs.com). We work with companies at a variety of scales and with varying levels of existing modeling capacity. We also run corporate workshop training events and can provide sessions ranging from introduction to Bayes to more advanced topics.
diff --git a/causalpy/__init__.py b/causalpy/__init__.py
index 135ae8e8..09384669 100644
--- a/causalpy/__init__.py
+++ b/causalpy/__init__.py
@@ -1,11 +1,45 @@
-import arviz as az
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
-import causalpy.pymc_experiments
-import causalpy.pymc_models
-import causalpy.skl_experiments
-import causalpy.skl_models
+import causalpy.pymc_models as pymc_models
+import causalpy.skl_models as skl_models
+from causalpy.skl_models import create_causalpy_compatible_class
from causalpy.version import __version__
from .data import load_data
+from .experiments.diff_in_diff import DifferenceInDifferences
+from .experiments.instrumental_variable import InstrumentalVariable
+from .experiments.interrupted_time_series import InterruptedTimeSeries
+from .experiments.inverse_propensity_weighting import InversePropensityWeighting
+from .experiments.prepostnegd import PrePostNEGD
+from .experiments.regression_discontinuity import RegressionDiscontinuity
+from .experiments.regression_kink import RegressionKink
+from .experiments.synthetic_control import SyntheticControl
-az.style.use("arviz-darkgrid")
+__all__ = [
+ "__version__",
+ "DifferenceInDifferences",
+ "create_causalpy_compatible_class",
+ "InstrumentalVariable",
+ "InterruptedTimeSeries",
+ "InversePropensityWeighting",
+ "load_data",
+ "PrePostNEGD",
+ "pymc_models",
+ "RegressionDiscontinuity",
+ "RegressionKink",
+ "skl_models",
+ "SyntheticControl",
+ "variable_selection_priors",
+]
diff --git a/causalpy/custom_exceptions.py b/causalpy/custom_exceptions.py
index e73dc604..89e74c8f 100644
--- a/causalpy/custom_exceptions.py
+++ b/causalpy/custom_exceptions.py
@@ -1,8 +1,26 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Custom Exceptions for CausalPy.
+"""
+
+
class BadIndexException(Exception):
"""Custom exception used when we have a mismatch in types between the dataframe
index and an event, typically a treatment or intervention."""
- def __init__(self, message):
+ def __init__(self, message: str):
self.message = message
@@ -10,12 +28,12 @@ class FormulaException(Exception):
"""Exception raised given when there is some error in a user-provided model
formula"""
- def __init__(self, message):
+ def __init__(self, message: str):
self.message = message
class DataException(Exception):
"""Exception raised given when there is some error in user-provided dataframe"""
- def __init__(self, message):
+ def __init__(self, message: str):
self.message = message
diff --git a/causalpy/data/AJR2001.csv b/causalpy/data/AJR2001.csv
new file mode 100644
index 00000000..3d37e355
--- /dev/null
+++ b/causalpy/data/AJR2001.csv
@@ -0,0 +1,65 @@
+longname,shortnam,logmort0,risk,loggdp,campaign,source0,slave,latitude,neoeuro,asia,africa,other,edes1975,campaignsj,campaignsj2,mortnaval1,logmortnaval1,mortnaval2,logmortnaval2,mortjam,logmortjam,logmortcap250,logmortjam250,wandcafrica,malfal94,wacacontested,mortnaval2250,logmortnaval2250,mortnaval1250,logmortnaval1250
+Angola,AGO,5.6347895,5.3600001,7.77,1,0,0,0.1367,0,0,1,0,0.0,1,1,280.0,5.6347895,280.0,5.6347895,280.0,5.6347895,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Argentina,ARG,4.232656,6.3899999,9.1300001,1,0,0,0.37779999,0,0,0,0,90.0,1,1,15.07,2.7127061,30.5,3.4177268,56.5,4.0342407,4.232656,4.0342407,0,0.0,0,30.5,3.4177268,15.07,2.7127061
+Australia,AUS,2.1459312,9.3199997,9.8999996,0,0,0,0.30000001,1,0,0,1,99.0,0,1,8.5500002,2.1459312,8.5500002,2.1459312,8.5500002,2.1459312,2.1459312,2.1459312,0,0.0,0,8.5500002,2.1459312,8.5500002,2.1459312
+Burkina Faso,BFA,5.6347895,4.4499998,6.8499999,1,0,0,0.1444,0,0,1,0,0.0,1,1,280.0,5.6347895,280.0,5.6347895,280.0,5.6347895,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Bangladesh,BGD,4.2684379,5.1399999,6.8800001,1,1,0,0.2667,0,1,0,0,0.0,1,1,71.410004,4.2684379,71.410004,4.2684379,71.410004,4.2684379,4.2684379,4.2684379,0,0.12008,0,71.410004,4.2684379,71.410004,4.2684379
+Bahamas,BHS,4.4426513,7.5,9.29,0,0,0,0.2683,0,0,0,0,10.0,0,0,85.0,4.4426513,85.0,4.4426513,85.0,4.4426513,4.4426513,4.4426513,0,,0,85.0,4.4426513,85.0,4.4426513
+Bolivia,BOL,4.2626801,5.6399999,7.9299998,1,0,0,0.18889999,0,0,0,0,30.000002,1,1,,,93.25,4.535284,56.5,4.0342407,4.2626801,4.0342407,0,0.00165,0,93.25,4.535284,,
+Brazil,BRA,4.2626801,7.9099998,8.7299995,1,0,0,0.1111,0,0,0,0,55.0,1,1,15.07,2.7127061,30.5,3.4177268,56.5,4.0342407,4.2626801,4.0342407,0,0.035999998,0,30.5,3.4177268,15.07,2.7127061
+Canada,CAN,2.7788193,9.7299995,9.9899998,0,1,0,0.66670001,1,0,0,0,98.0,0,0,16.1,2.7788193,16.1,2.7788193,16.1,2.7788193,2.7788193,2.7788193,0,0.0,0,16.1,2.7788193,16.1,2.7788193
+Chile,CHL,4.232656,7.8200002,9.3400002,1,0,0,0.33329999,0,0,0,0,50.0,1,1,15.07,2.7127061,30.5,3.4177268,56.5,4.0342407,4.232656,4.0342407,0,0.0,0,30.5,3.4177268,15.07,2.7127061
+Cote d'Ivoire,CIV,6.5042882,7.0,7.4400001,1,0,0,0.0889,0,0,1,0,0.0,1,1,668.0,6.5042882,668.0,6.5042882,668.0,6.5042882,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Cameroon,CMR,5.6347895,6.4499998,7.5,1,0,0,0.066699997,0,0,1,0,0.0,1,1,280.0,5.6347895,280.0,5.6347895,280.0,5.6347895,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Congo,COG,5.480639,4.6799998,7.4200001,0,1,1,0.0111,0,0,1,0,0.0,0,0,240.0,5.480639,240.0,5.480639,240.0,5.480639,5.480639,5.480639,1,0.94999999,0,240.0,5.480639,240.0,5.480639
+Colombia,COL,4.2626801,7.3200002,8.8100004,1,0,0,0.044399999,0,0,0,0,25.0,1,1,,,93.25,4.535284,56.5,4.0342407,4.2626801,4.0342407,0,0.14637001,0,93.25,4.535284,,
+Costa Rica,CRI,4.3579903,7.0500002,8.79,1,0,0,0.1111,0,0,0,0,20.0,1,1,,,93.25,4.535284,62.200001,4.1303549,4.3579903,4.1303549,0,0.0,0,93.25,4.535284,,
+Dominican Re,DOM,4.8675346,6.1799998,8.3599997,0,0,0,0.2111,0,0,0,0,25.0,0,0,130.0,4.8675346,130.0,4.8675346,130.0,4.8675346,4.8675346,4.8675346,0,0.0,0,130.0,4.8675346,130.0,4.8675346
+Algeria,DZA,4.3592696,6.5,8.3900003,1,1,0,0.31110001,0,0,1,0,0.0,1,1,78.199997,4.3592696,78.199997,4.3592696,78.199997,4.3592696,4.3592696,4.3592696,0,0.0,0,78.199997,4.3592696,78.199997,4.3592696
+Ecuador,ECU,4.2626801,6.5500002,8.4700003,1,0,0,0.0222,0,0,0,0,30.000002,1,1,,,93.25,4.535284,56.5,4.0342407,4.2626801,4.0342407,0,0.11894999,0,93.25,4.535284,,
+Egypt,EGY,4.2165623,6.77,7.9499998,1,1,0,0.30000001,0,0,1,0,0.0,1,1,67.800003,4.2165623,67.800003,4.2165623,67.800003,4.2165623,4.2165623,4.2165623,0,0.0,0,67.800003,4.2165623,67.800003,4.2165623
+Ethiopia,ETH,3.2580965,5.73,6.1100001,1,1,0,0.0889,0,0,1,0,0.0,1,1,26.0,3.2580965,26.0,3.2580965,26.0,3.2580965,3.2580965,3.2580965,1,0.551,0,26.0,3.2580965,26.0,3.2580965
+Gabon,GAB,5.6347895,7.8200002,8.8999996,1,0,0,0.0111,0,0,1,0,0.0,1,1,280.0,5.6347895,280.0,5.6347895,280.0,5.6347895,5.521461,5.521461,1,0.94050002,1,250.0,5.521461,250.0,5.521461
+Ghana,GHA,6.5042882,6.27,7.3699999,1,1,0,0.0889,0,0,1,0,0.0,1,1,668.0,6.5042882,668.0,6.5042882,668.0,6.5042882,5.521461,5.521461,1,0.94999999,0,250.0,5.521461,250.0,5.521461
+Guinea,GIN,6.1800165,6.5500002,7.4899998,1,0,0,0.1222,0,0,1,0,0.0,1,1,483.0,6.1800165,483.0,6.1800165,483.0,6.1800165,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Gambia,GMB,7.2930179,8.2700005,7.27,1,1,0,0.1476,0,0,1,0,0.0,1,1,1470.0,7.2930179,1470.0,7.2930179,1470.0,7.2930179,5.521461,5.521461,1,0.94999999,0,250.0,5.521461,250.0,5.521461
+Guatemala,GTM,4.2626801,5.1399999,8.29,1,0,0,0.17,0,0,0,0,20.0,1,1,,,93.25,4.535284,56.5,4.0342407,4.2626801,4.0342407,0,0.0036000002,0,93.25,4.535284,,
+Guyana,GUY,3.4713452,5.8899999,7.9000001,0,0,0,0.055599999,0,0,0,0,2.0,0,0,32.18,3.4713452,32.18,3.4713452,32.18,3.4713452,3.4713452,3.4713452,0,0.49503002,0,32.18,3.4713452,32.18,3.4713452
+Hong Kong,HKG,2.7013612,8.1400003,10.05,0,0,0,0.24609999,0,1,0,0,0.0,1,1,14.9,2.7013612,14.9,2.7013612,14.9,2.7013612,2.7013612,2.7013612,0,0.0,0,14.9,2.7013612,14.9,2.7013612
+Honduras,HND,4.3579903,5.3200002,7.6900001,1,0,0,0.16670001,0,0,0,0,20.0,1,1,,,93.25,4.535284,62.200001,4.1303549,4.3579903,4.1303549,0,0.012,0,93.25,4.535284,,
+Haiti,HTI,4.8675346,3.73,7.1500001,0,0,0,0.2111,0,0,0,0,0.0,0,0,130.0,4.8675346,130.0,4.8675346,130.0,4.8675346,4.8675346,4.8675346,0,1.0,0,130.0,4.8675346,130.0,4.8675346
+Indonesia,IDN,5.1357985,7.5900002,7.3299999,1,1,0,0.055599999,0,1,0,0,0.0,1,1,170.0,5.1357985,170.0,5.1357985,170.0,5.1357985,5.1357985,5.1357985,0,0.17873,0,170.0,5.1357985,170.0,5.1357985
+India,IND,3.8842406,8.2700005,7.3299999,0,1,0,0.22220001,0,1,0,0,0.0,0,0,48.630001,3.8842406,48.630001,3.8842406,48.630001,3.8842406,3.8842406,3.8842406,0,0.23596001,0,48.630001,3.8842406,48.630001,3.8842406
+Jamaica,JAM,4.8675346,7.0900002,8.1899996,0,1,0,0.2017,0,0,0,0,10.0,0,1,130.0,4.8675346,130.0,4.8675346,130.0,4.8675346,4.8675346,4.8675346,0,0.0,0,130.0,4.8675346,130.0,4.8675346
+Kenya,KEN,4.9767337,6.0500002,7.0599999,0,1,1,0.0111,0,0,1,0,0.0,0,0,145.0,4.9767337,145.0,4.9767337,145.0,4.9767337,4.9767337,4.9767337,1,0.79799998,0,145.0,4.9767337,145.0,4.9767337
+Sri Lanka,LKA,4.2456341,6.0500002,7.73,0,1,0,0.077799998,0,1,0,0,0.0,0,1,69.800003,4.2456341,69.800003,4.2456341,69.800003,4.2456341,4.2456341,4.2456341,0,0.138,0,69.800003,4.2456341,69.800003,4.2456341
+Morocco,MAR,4.3592696,7.0900002,8.04,1,0,0,0.3556,0,0,1,0,1.0,1,1,78.199997,4.3592696,78.199997,4.3592696,78.199997,4.3592696,4.3592696,4.3592696,0,0.0,0,78.199997,4.3592696,78.199997,4.3592696
+Madagascar,MDG,6.2842088,4.4499998,6.8400002,1,1,0,0.22220001,0,0,1,0,0.0,1,1,536.03998,6.2842088,536.03998,6.2842088,536.03998,6.2842088,5.521461,5.521461,1,0.94999999,0,250.0,5.521461,250.0,5.521461
+Mexico,MEX,4.2626801,7.5,8.9399996,1,1,0,0.25560001,0,0,0,0,15.000001,1,1,71.0,4.2626801,71.0,4.2626801,71.0,4.2626801,4.2626801,4.2626801,0,0.00042,0,71.0,4.2626801,71.0,4.2626801
+Mali,MLI,7.986165,4.0,6.5700002,1,1,0,0.18889999,0,0,1,0,0.0,1,1,2940.0,7.986165,2940.0,7.986165,2940.0,7.986165,5.521461,5.521461,1,0.94050002,0,250.0,5.521461,250.0,5.521461
+Malta,MLT,2.7911651,7.23,9.4300003,0,1,0,0.3944,0,0,0,1,100.0,0,0,16.299999,2.7911651,16.299999,2.7911651,16.299999,2.7911651,2.7911651,2.7911651,0,,0,16.299999,2.7911651,16.299999,2.7911651
+Malaysia,MYS,2.8735647,7.9499998,8.8900003,0,1,0,0.025599999,0,1,0,0,0.0,0,1,17.700001,2.8735647,17.700001,2.8735647,17.700001,2.8735647,2.8735647,2.8735647,0,0.23331,0,17.700001,2.8735647,17.700001,2.8735647
+Niger,NER,5.9914646,5.0,6.73,1,0,0,0.1778,0,0,1,0,0.0,1,1,400.0,5.9914646,400.0,5.9914646,400.0,5.9914646,5.521461,5.521461,1,0.94050002,1,250.0,5.521461,250.0,5.521461
+Nigeria,NGA,7.6029005,5.5500002,6.8099999,1,1,0,0.1111,0,0,1,0,0.0,1,1,2004.0,7.6029005,2004.0,7.6029005,2004.0,7.6029005,5.521461,5.521461,1,0.94999999,0,250.0,5.521461,250.0,5.521461
+Nicaragua,NIC,5.0955892,5.23,7.54,1,0,0,0.1444,0,0,0,0,20.0,1,1,,,93.25,4.535284,130.0,4.8675346,5.0955892,4.8675346,0,0.044,0,93.25,4.535284,,
+New Zealand,NZL,2.1459312,9.7299995,9.7600002,0,1,0,0.45559999,1,0,0,1,91.699997,1,1,8.5500002,2.1459312,8.5500002,2.1459312,8.5500002,2.1459312,2.1459312,2.1459312,0,0.0,0,8.5500002,2.1459312,8.5500002,2.1459312
+Pakistan,PAK,3.6106477,6.0500002,7.3499999,1,0,0,0.33329999,0,1,0,0,0.0,1,1,36.990002,3.6106477,36.990002,3.6106477,36.990002,3.6106477,3.6106477,3.6106477,0,0.53757,0,36.990002,3.6106477,36.990002,3.6106477
+Panama,PAN,5.0955892,5.9099998,8.8400002,1,0,0,0.1,0,0,0,0,20.0,1,1,15.07,2.7127061,30.5,3.4177268,130.0,4.8675346,5.0955892,4.8675346,0,0.08004,0,30.5,3.4177268,15.07,2.7127061
+Peru,PER,4.2626801,5.77,8.3999996,1,0,0,0.1111,0,0,0,0,30.000002,1,1,15.07,2.7127061,30.5,3.4177268,56.5,4.0342407,4.2626801,4.0342407,0,0.00050000002,0,30.5,3.4177268,15.07,2.7127061
+Paraguay,PRY,4.3579903,6.9499998,8.21,1,0,0,0.25560001,0,0,0,0,25.0,1,1,,,93.25,4.535284,62.200001,4.1303549,4.3579903,4.1303549,0,0.0,0,93.25,4.535284,,
+Sudan,SDN,4.4796071,4.0,7.3099999,1,1,0,0.16670001,0,0,1,0,0.0,1,1,88.199997,4.4796071,88.199997,4.4796071,88.199997,4.4796071,4.4796071,4.4796071,1,0.93099999,0,88.199997,4.4796071,88.199997,4.4796071
+Senegal,SEN,5.1038828,6.0,7.4000001,0,1,0,0.1556,0,0,1,0,0.0,0,1,164.66,5.1038828,164.66,5.1038828,164.66,5.1038828,5.1038828,5.1038828,1,0.94999999,0,164.66,5.1038828,164.66,5.1038828
+Singapore,SGP,2.8735647,9.3199997,10.15,0,0,0,0.0136,0,1,0,0,0.0,0,1,17.700001,2.8735647,17.700001,2.8735647,17.700001,2.8735647,2.8735647,2.8735647,0,0.0,0,17.700001,2.8735647,17.700001,2.8735647
+Sierra Leone,SLE,6.1800165,5.8200002,6.25,1,1,0,0.092200004,0,0,1,0,0.0,1,1,483.0,6.1800165,483.0,6.1800165,483.0,6.1800165,5.521461,5.521461,1,0.94999999,0,250.0,5.521461,250.0,5.521461
+El Salvador,SLV,4.3579903,5.0,7.9499998,1,0,0,0.15000001,0,0,0,0,20.0,1,1,,,93.25,4.535284,62.200001,4.1303549,4.3579903,4.1303549,0,0.0,0,93.25,4.535284,,
+Togo,TGO,6.5042882,6.9099998,7.2199998,1,0,0,0.0889,0,0,1,0,0.0,1,1,668.0,6.5042882,668.0,6.5042882,668.0,6.5042882,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Trinidad and Tobago,TTO,4.4426513,7.4499998,8.7700005,0,1,0,0.1222,0,0,0,0,40.0,0,1,85.0,4.4426513,85.0,4.4426513,85.0,4.4426513,4.4426513,4.4426513,0,0.0,0,85.0,4.4426513,85.0,4.4426513
+Tunisia,TUN,4.1431346,6.4499998,8.4799995,1,1,0,0.37779999,0,0,1,0,0.0,1,1,63.0,4.1431346,63.0,4.1431346,63.0,4.1431346,4.1431346,4.1431346,0,0.0,0,63.0,4.1431346,63.0,4.1431346
+Tanzania,TZA,4.9767337,6.6399999,6.25,0,0,1,0.066699997,0,0,1,0,0.0,0,0,145.0,4.9767337,145.0,4.9767337,145.0,4.9767337,4.9767337,4.9767337,1,0.92150003,1,145.0,4.9767337,145.0,4.9767337
+Uganda,UGA,5.6347895,4.4499998,6.9699998,1,0,0,0.0111,0,0,1,0,0.0,1,1,280.0,5.6347895,280.0,5.6347895,280.0,5.6347895,5.521461,5.521461,1,0.94999999,1,250.0,5.521461,250.0,5.521461
+Uruguary,URY,4.2626801,7.0,9.0299997,1,0,0,0.36669999,0,0,0,0,90.0,1,1,,,93.25,4.535284,56.5,4.0342407,4.2626801,4.0342407,0,0.0,0,93.25,4.535284,,
+USA,USA,2.7080503,10.0,10.22,0,1,0,0.42219999,1,0,0,0,83.600006,0,1,15.0,2.7080503,15.0,2.7080503,15.0,2.7080503,2.7080503,2.7080503,0,0.0,0,15.0,2.7080503,15.0,2.7080503
+Venezuela,VEN,4.3579903,7.1399999,9.0699997,1,0,0,0.0889,0,0,0,0,20.0,1,1,,,93.25,4.535284,62.200001,4.1303549,4.3579903,4.1303549,0,0.0070400001,0,93.25,4.535284,,
+Vietnam,VNM,4.9416423,6.4099998,7.2800002,1,1,0,0.1778,0,1,0,0,0.0,1,1,140.0,4.9416423,140.0,4.9416423,140.0,4.9416423,4.9416423,4.9416423,0,0.70109999,0,140.0,4.9416423,140.0,4.9416423
+South Africa,ZAF,2.74084,6.8600001,8.8900003,0,1,0,0.3222,0,0,1,0,16.0,0,1,15.5,2.74084,15.5,2.74084,15.5,2.74084,2.74084,2.74084,0,0.1045,0,15.5,2.74084,15.5,2.74084
+Zaire,ZAR,5.480639,3.5,6.8699999,0,0,1,0.0,0,0,1,0,0.0,0,0,240.0,5.480639,240.0,5.480639,240.0,5.480639,5.480639,5.480639,1,0.94999999,1,240.0,5.480639,240.0,5.480639
diff --git a/causalpy/data/PISA18sampleScale.csv b/causalpy/data/PISA18sampleScale.csv
new file mode 100644
index 00000000..864fc622
--- /dev/null
+++ b/causalpy/data/PISA18sampleScale.csv
@@ -0,0 +1,101 @@
+PV1READ,Female,ESCS,METASUM,PERFEED,JOYREAD,MASTGOAL,ADAPTIVITY,TEACHINT,SCREADDIFF,SCREADCOMP
+-1.982624821,0,0.877953978,-1.759454259,0.275538553,-0.314180898,1.521829065,0.388062105,1.490077639,-0.127053949,0.192197154
+1.415445876,0,1.214043851,0.23043541,0.275538553,0.192481997,0.872934925,0.491332618,1.585005277,0.162136401,-0.063690149
+0.671957618,0,-0.059916358,-0.573768705,0.511388315,1.252481831,-0.417835454,1.390434411,0.34360293,-1.99944701,1.547448742
+1.036243451,0,0.139992977,-0.573768705,-2.061078101,-1.325941101,-0.18551145,-0.8111262,-0.668887592,0.559200856,-0.579580169
+-0.274977064,0,0.855890063,-0.171666648,-0.474901312,0.420666213,1.521829065,-0.682732704,0.03540737,-0.801004811,0.956200917
+1.4452046,0,0.779230785,1.024329216,-0.403642927,0.294930056,-0.873789642,0.080450276,0.69564399,-0.265544842,-0.063690149
+0.329604055,0,1.234465801,1.416120964,0.275538553,0.046686765,0.184970967,0.491332618,-0.985064735,-0.265544842,-0.579580169
+1.093278937,0,0.04937699,-0.171666648,0.275538553,0.001089061,-0.873789642,0.388062105,1.585005277,0.19103636,0.192197154
+0.826004725,0,1.319745399,1.024329216,0.73707214,0.209996995,-0.643770024,0.388062105,-0.1710496,-0.83143084,0.956200917
+0.492900607,0,0.332718712,1.024329216,-0.789077206,0.974688096,0.184970967,0.18094221,-0.1710496,-0.69885347,-0.063690149
+-1.823696522,1,0.043835356,-1.759454259,-0.789077206,-0.264571379,-0.300835494,-0.232834485,-0.350262763,0.559200856,-0.929939088
+-1.694857875,0,0.156412635,-0.171666648,1.059864877,0.515775586,1.521829065,2.182676695,1.585005277,0.985642167,-0.063690149
+-0.397403976,1,-0.297488284,0.23043541,-0.403642927,0.528202428,0.184970967,-0.8111262,-0.797337882,0.19103636,-0.549400465
+-0.622815763,1,-0.906862838,1.024329216,1.478217432,-0.403810719,1.521829065,0.826614461,-0.1710496,0.559200856,-2.407189841
+0.542771496,1,0.408043893,-1.759454259,0.275538553,1.079288837,-0.873789642,-1.819287211,-0.668887592,-0.265544842,-0.063690149
+0.726875163,0,-0.140270059,-0.573768705,-1.259421273,0.546695917,-1.60155663,1.226382487,-1.00358201,-0.265544842,-0.549400465
+0.657727702,1,-0.366861338,0.23043541,-0.789077206,2.754466272,-0.417835454,-1.211704645,-1.922102683,-1.99944701,1.547448742
+-0.286716745,0,1.429346616,-1.759454259,0.275538553,1.021264291,0.597875035,2.182676695,0.69564399,1.67370918,0.431074079
+1.106085861,1,-0.367066584,0.23043541,0.511388315,1.18809709,-0.090298412,-0.020736302,0.963293103,0.19103636,-0.272021555
+-1.754788984,0,-0.99224506,-0.171666648,0.316202305,-0.248230571,1.521829065,-0.8111262,-0.1710496,0.285652728,-0.951887964
+0.672511922,0,0.259240743,0.23043541,1.478217432,-1.325941101,-0.417835454,1.390434411,0.673934081,0.768558646,0.464180299
+1.289527671,1,1.988025477,0.23043541,1.478217432,2.231560418,0.83522679,0.388062105,0.246227606,-1.308804753,1.547448742
+-1.336462565,1,-0.519872026,-1.759454259,0.142800448,-0.255373559,1.521829065,-0.339925543,-2.716749175,0.985642167,-0.063690149
+0.747400989,0,0.003401948,1.416120964,0.021680557,-0.067013947,-0.300835494,0.080450276,-0.797337882,-0.69885347,0.956200917
+-0.363566561,0,0.002067851,-0.171666648,0.275538553,0.294930056,-1.60155663,-0.020736302,-0.985064735,0.907717195,-0.549400465
+-0.195090981,1,-1.446145978,0.622227158,0.275538553,-0.931413331,0.184970967,-0.017726175,-0.1710496,0.19103636,-0.549400465
+1.451417778,1,0.757577361,1.024329216,0.021680557,0.001089061,0.184970967,0.385051978,0.963293103,1.008247085,-1.495945707
+-0.598881376,0,0.900223139,1.416120964,1.478217432,0.821847725,-0.055208898,0.491332618,0.366696312,0.66554889,-0.549400465
+-1.220265378,0,0.363916062,-0.171666648,1.478217432,0.394638339,-0.300835494,2.182676695,1.585005277,-0.022041226,0.919345098
+-1.472374803,1,-1.359327037,-0.171666648,-0.631456757,-1.258620886,-0.38316492,-1.357348484,-1.414899633,0.66554889,-1.08422139
+0.505583433,1,-0.074899296,0.23043541,1.478217432,0.294930056,1.521829065,0.488206717,1.585005277,0.19103636,0.575753748
+1.542836711,0,0.598101433,1.416120964,-0.184639576,-0.116525616,0.455841064,-0.229592809,-0.1710496,-0.69885347,-0.677069756
+-0.208609401,1,0.795855689,-1.759454259,0.803392783,1.402680275,1.521829065,2.182676695,-0.1710496,-1.99944701,1.547448742
+-0.342329239,0,-1.580376682,1.024329216,-0.789077206,0.724487821,-1.797115203,-0.8111262,-1.732779514,1.804855859,-0.851380406
+0.361282163,1,-0.908094313,0.23043541,-2.061078101,-0.639137922,-1.689751766,0.080450276,-1.281128287,-0.265544842,1.547448742
+-0.872707969,1,-0.594478846,0.622227158,-1.464579584,-0.721722604,-0.516924051,-0.017726175,-1.00358201,0.559200856,-0.951887964
+0.157240068,0,-0.736816756,1.024329216,-2.061078101,0.324578348,-1.199127044,1.390434411,1.585005277,1.008247085,-0.549400465
+-0.417102481,0,-2.932843381,0.622227158,-0.087530663,0.515775586,0.184970967,-1.357348484,-0.723694468,1.67370918,-1.180064812
+-0.496781734,1,0.04003831,0.23043541,-1.569240337,0.161365967,1.521829065,-0.8111262,-0.668887592,1.008247085,0.192197154
+0.230400034,1,0.38751932,1.416120964,0.275538553,0.461175761,0.184970967,-0.336568094,-1.039126663,-0.69885347,-0.827785365
+-1.591194597,1,0.132706754,-1.367662511,-2.061078101,-2.45551168,1.521829065,-2.763772459,-0.1710496,0.66554889,-0.851380406
+-0.523644835,1,0.468283513,0.23043541,0.275538553,0.209996995,-0.055208898,0.491332618,1.585005277,-0.265544842,-0.063690149
+0.391967486,0,-0.513509408,1.416120964,-0.789077206,-1.223786589,-0.516924051,-0.336568094,0.366696312,-0.265544842,-0.549400465
+1.594800722,0,-0.249358161,-0.573768705,1.478217432,2.754466272,-2.121509901,0.491332618,1.049068524,-1.99944701,1.547448742
+-0.815010626,1,-2.299762945,0.622227158,-0.214459661,-0.067013947,-0.300835494,-0.336568094,0.296139111,-0.233592742,-0.929939088
+-0.842676229,1,-0.019996065,1.024329216,-0.631456757,-2.45551168,0.033719451,-0.935467601,-0.96654746,-1.15896371,-1.334072752
+-0.251671441,1,-1.804094521,-0.171666648,0.275538553,-0.067013947,-1.302929157,-0.8111262,-0.985064735,0.559200856,-0.063690149
+-1.291357043,0,1.381421739,0.622227158,-0.789077206,0.180348702,0.184970967,-0.336568094,-1.039126663,0.985642167,-0.063690149
+1.440488872,0,1.496051476,-0.573768705,-0.087530663,0.422427498,-1.913277205,0.826614461,1.049068524,-1.99944701,1.547448742
+-0.746541568,1,0.261087954,0.23043541,1.478217432,-1.507059876,1.521829065,2.182676695,1.585005277,-1.99944701,1.547448742
+-0.461058027,0,0.808580923,-1.759454259,0.275538553,-0.248230571,-1.689751766,0.388062105,-0.1710496,0.985642167,-0.851380406
+-2.05863077,0,-1.36804998,-1.759454259,1.478217432,0.209996995,-1.797115203,-0.339925543,1.585005277,-1.99944701,-2.407189841
+-1.903996265,0,0.602001102,-1.759454259,-0.789077206,0.331819185,0.184970967,-0.8111262,-0.1710496,0.583713362,-0.851380406
+0.771732489,1,0.021155703,-1.759454259,0.275538553,-1.731525825,-0.873789642,-0.8111262,-1.26622933,2.447903795,-1.495945707
+0.169352043,1,-0.811936691,-1.759454259,-0.789077206,0.180348702,-0.300835494,0.708409087,-0.1710496,0.19103636,-0.579580169
+1.116874123,1,0.166161807,0.23043541,1.478217432,2.754466272,0.612434565,0.826614461,0.652011331,-1.99944701,1.547448742
+-1.08873794,0,0.327177078,-0.573768705,0.275538553,-0.486982495,-0.055208898,0.388062105,-0.1710496,0.985642167,-1.180064812
+-0.61148147,0,-1.230740591,0.622227158,-0.214459661,-0.352439915,1.521829065,0.080450276,0.296139111,1.67370918,-0.063690149
+1.260612814,0,1.54243701,-0.573768705,0.937486347,0.275555925,0.455841064,0.711766537,0.69564399,-0.265544842,1.547448742
+1.195800514,0,0.703289867,1.024329216,-0.087530663,0.294930056,-0.516924051,0.491332618,-0.1710496,-1.273037476,1.547448742
+1.374427317,1,-0.415299329,0.23043541,0.275538553,-0.906657496,1.521829065,-0.686321701,1.585005277,0.19103636,-0.549400465
+0.2949145,1,1.102184932,-0.573768705,0.612660422,-2.45551168,1.126626871,0.823025463,0.69564399,0.66554889,-0.063690149
+-1.626057889,1,-0.803624239,-1.759454259,0.105234886,1.072537245,0.83522679,-0.336568094,0.320190283,2.447903795,1.547448742
+1.526191019,1,0.442935666,0.23043541,0.021680557,0.650318166,0.033719451,-0.336568094,-1.00358201,-0.233592742,-0.929939088
+-0.202214212,1,0.902583465,0.622227158,1.478217432,-0.873095238,0.033719451,-1.819287211,0.566448752,-1.15896371,-1.414003239
+0.767372509,1,0.527394281,-0.573768705,-2.061078101,0.821847725,0.289611039,-0.8111262,-1.26622933,0.66554889,-0.063690149
+0.164173016,0,0.414714379,0.622227158,-0.789077206,-0.248230571,-0.300835494,-0.8111262,-0.1710496,-0.265544842,-0.063690149
+-0.973095058,1,-1.051458451,0.23043541,1.478217432,0.312542903,-0.300835494,2.182676695,1.585005277,0.985642167,-0.063690149
+0.282876984,1,0.736642297,0.622227158,1.059864877,0.411076996,-0.516924051,0.388062105,1.585005277,-0.69885347,1.547448742
+0.591533776,0,1.871856397,1.024329216,0.401499366,-0.135899748,0.744308289,-0.8111262,-0.985064735,-0.69885347,1.547448742
+2.033346858,0,1.043895146,0.622227158,-0.509271864,0.209996995,-0.055208898,-0.336568094,-0.668887592,-0.69885347,1.547448742
+1.281130367,1,0.532628047,-0.171666648,-0.789077206,0.778304853,0.184970967,-0.8111262,-1.703407285,-0.69885347,-0.063690149
+0.033042691,1,-0.76421706,-0.171666648,-0.789077206,0.209996995,0.597875035,0.388062105,1.049068524,0.985642167,1.547448742
+-0.951477169,0,0.645821064,-0.573768705,0.275538553,-0.132866424,-0.300835494,-0.686321701,0.990856172,0.66554889,-0.063690149
+-0.54553574,0,-1.410433222,0.622227158,-0.789077206,-0.494908276,-0.055208898,-0.447363924,-0.723694468,0.66554889,-0.929939088
+-1.414660914,1,-1.619681238,1.416120964,0.612660422,0.528202428,1.521829065,-0.020736302,0.910614649,-0.158719911,-0.063690149
+0.860297166,1,0.44632222,1.024329216,-1.569240337,0.294930056,-1.797115203,-0.814946745,0.673934081,0.19103636,-0.549400465
+-0.289604094,1,-1.021389952,-0.965560453,-2.061078101,0.046686765,-0.873789642,-0.690026473,-0.1710496,-0.265544842,-0.063690149
+-0.674208923,1,-1.035757153,-0.171666648,-0.403642927,-2.45551168,1.521829065,-0.339925543,-1.281128287,-0.265544842,0.575753748
+1.13748268,1,1.217122537,1.416120964,-0.279328027,-0.473968559,-0.516924051,0.080450276,0.366696312,-1.273037476,0.919345098
+0.575351384,0,-1.099691196,1.416120964,1.478217432,-0.835912562,1.521829065,1.226382487,0.320190283,-1.99944701,1.547448742
+0.299373758,0,0.257393531,-0.171666648,0.021680557,-0.812428766,-0.055208898,0.491332618,-0.1710496,0.66554889,0.956200917
+-0.701584963,0,-1.148026564,-1.367662511,-0.214459661,-1.258620886,-0.055208898,-0.8111262,0.320190283,-0.404131115,-0.851380406
+-0.796337998,1,0.666756128,-0.573768705,-0.214459661,-0.067013947,0.184970967,0.388062105,0.673934081,0.162136401,-0.063690149
+0.017910996,1,-1.206008481,0.23043541,0.021680557,-0.416726806,-0.873789642,-0.339925543,1.585005277,0.19103636,-0.063690149
+0.263385309,1,-1.740365724,0.622227158,0.021680557,-1.731525825,0.455841064,0.388062105,-0.668887592,0.66554889,-0.549400465
+1.539717712,1,-0.991937191,1.024329216,-2.061078101,0.821847725,0.184970967,-2.763772459,-0.1710496,-0.265544842,-0.063690149
+-0.495549026,1,1.06914037,-1.759454259,-0.789077206,-0.403810719,-1.081603359,-0.8111262,-0.985064735,0.559200856,-1.009046493
+-0.632073481,0,-0.646713883,0.23043541,0.275538553,-0.365356003,0.047545767,0.388062105,0.296139111,0.285652728,1.547448742
+0.05442893,1,1.417237118,-1.759454259,1.478217432,-1.731525825,-1.797115203,2.182676695,-0.668887592,-1.99944701,1.547448742
+-1.53764213,1,-0.561639531,-1.759454259,-1.108771753,1.637126836,-0.873789642,-0.8111262,-1.26622933,0.313217375,0.956200917
+0.353563261,1,1.516883917,0.23043541,1.478217432,-0.067013947,0.455841064,0.943546319,-0.668887592,0.641417901,-1.180064812
+-1.698183704,1,0.53344903,-0.171666648,1.478217432,-0.95685411,0.184970967,0.385051978,-0.668887592,0.985642167,-0.929939088
+0.535474528,1,1.457567903,0.622227158,0.803392783,0.477810116,0.597875035,0.388062105,1.585005277,-0.83143084,1.547448742
+-0.521444163,1,-1.246749758,-0.171666648,-0.789077206,-0.091280536,1.521829065,-1.824265498,-1.703407285,-0.233592742,-0.874335271
+0.405932659,0,-0.106815006,-1.759454259,1.059864877,-0.47719758,-0.055208898,0.391188007,0.320190283,-0.265544842,-0.063690149
+1.382758437,0,1.112755087,1.024329216,-1.363017023,0.546695917,-0.300835494,0.488206717,0.990856172,0.19103636,-0.063690149
+-0.180166117,0,-0.903784153,1.416120964,-0.789077206,0.3589234,-2.209705037,-1.353064842,-0.668887592,0.689393741,-0.929939088
+-0.138452609,0,-1.523831485,-0.171666648,0.021680557,-0.050770988,1.521829065,-0.8111262,-0.039406676,0.66554889,-0.851380406
+0.907727459,1,0.115773982,1.024329216,1.478217432,0.461175761,-0.873789642,0.080450276,-0.668887592,-0.265544842,-0.063690149
diff --git a/causalpy/data/__init__.py b/causalpy/data/__init__.py
index 6a69442d..b2ae03e3 100644
--- a/causalpy/data/__init__.py
+++ b/causalpy/data/__init__.py
@@ -1,4 +1,18 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
"""Code for loading datasets."""
+
from .datasets import load_data
__all__ = ["load_data"]
diff --git a/causalpy/data/datasets.py b/causalpy/data/datasets.py
index 7c2591d9..40085799 100644
--- a/causalpy/data/datasets.py
+++ b/causalpy/data/datasets.py
@@ -1,3 +1,20 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Functions to load example datasets
+"""
+
import pathlib
import pandas as pd
@@ -16,18 +33,38 @@
"sc": {"filename": "synthetic_control.csv"},
"anova1": {"filename": "ancova_generated.csv"},
"geolift1": {"filename": "geolift1.csv"},
+ "geolift_multi_cell": {"filename": "geolift_multi_cell.csv"},
+ "risk": {"filename": "AJR2001.csv"},
+ "nhefs": {"filename": "nhefs.csv"},
+ "schoolReturns": {"filename": "schoolingReturns.csv"},
+ "pisa18": {"filename": "PISA18sampleScale.csv"},
+ "nets": {"filename": "nets_df.csv"},
+ "lalonde": {"filename": "lalonde.csv"},
}
-def _get_data_home() -> pathlib.PosixPath:
+def _get_data_home() -> pathlib.Path:
"""Return the path of the data directory"""
return pathlib.Path(cp.__file__).parents[1] / "causalpy" / "data"
-def load_data(dataset: str = None) -> pd.DataFrame:
- """Loads the requested dataset and returns a pandas DataFrame.
+def load_data(dataset: str | None = None) -> pd.DataFrame:
+ """Load the requested dataset and return a pandas DataFrame.
+
+ Parameters
+ ----------
+ dataset : str, optional
+ The desired dataset to load. If None, raises ValueError.
+
+ Returns
+ -------
+ pd.DataFrame
+ The loaded dataset as a pandas DataFrame.
- :param dataset: The desired dataset to load
+ Raises
+ ------
+ ValueError
+ If the requested dataset is not found.
"""
if dataset in DATASETS:
diff --git a/causalpy/data/geolift_multi_cell.csv b/causalpy/data/geolift_multi_cell.csv
new file mode 100644
index 00000000..1a54e649
--- /dev/null
+++ b/causalpy/data/geolift_multi_cell.csv
@@ -0,0 +1,209 @@
+time,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,t1,t2,t3,t4
+2019-01-06,5.056542063694036,2.9657873433453443,2.961985408243531,2.366367752663035,1.001006919441891,2.8697648855663016,1.9022704894824456,1.0329637548216957,4.158447884851078,2.060237130144774,3.848585149655541,2.795793782844532,3.017945612124932,2.6519786414613415,3.013979086224545,2.3592123285991136
+2019-01-13,5.142779742197034,3.057509892587056,2.8859470644893754,2.39554538542039,0.9240809885708561,3.1585472621589537,1.8503901143460681,0.8334831715027888,4.121293008818943,1.9343239029874884,3.833499856170345,2.8903261935366085,2.914653106322808,2.4433048571653977,3.148597461384081,2.1434076314124937
+2019-01-20,5.093812576089838,3.203047525871611,2.843206006852071,2.431114167275022,0.9738306886024114,3.1817456537220745,1.8023143696725636,1.1518215634728906,4.082244105695345,2.1370927569806177,3.8190312624753826,2.9205587791170955,3.00424827934589,2.5012779312853177,3.094650384049216,2.323577887449746
+2019-01-27,5.212512729658162,3.1756682128805602,2.8973448962077177,2.1389797719805896,0.7521846913232502,3.1353383753468784,1.9738276250406273,1.0894031858042221,4.096773511908966,2.1091090100275767,3.8679045411668547,2.811436534618144,3.0226467056508692,2.496051992717183,3.1190740415088403,2.1962871444618637
+2019-02-03,4.8557727763166625,3.1363915295550915,2.8065274267357254,2.307915052102012,0.6147931769076393,3.3595796816585026,1.9962097789846598,1.1302421608181943,4.210661471018771,2.0324565524379636,3.8708519380068753,2.972000169973423,2.9760023951750862,2.4113996568359894,3.072092586465282,2.2504102365099596
+2019-02-10,4.820734465303678,3.0343286170166324,2.8840523826981355,2.0652130650643645,0.5259956078722561,3.0489038756347773,1.8357004771248604,1.296584587964428,4.2305545562508415,2.245258767857847,3.551917871433673,2.797909576510125,2.811761252366315,2.4088584913557987,2.970037714961459,2.206426251113446
+2019-02-17,4.849795960539527,3.0984830922047712,2.84037174006581,2.0434110965420706,0.34774524812575014,2.9152911272316633,1.6447231848267907,1.2288762980807773,4.42270709879676,2.195856198778192,3.640038540984115,2.7612604475599283,2.9342321808971623,2.4220384367938688,2.7802385338501763,2.2056724194424975
+2019-02-24,4.840194900858556,3.0303062619847605,2.7562246775084027,2.1331662884742593,0.3776024261259433,2.9277725393403515,1.5371882027392196,1.454963587978674,4.159746067004351,2.276186797091321,3.7293636156998593,2.9840261010912625,2.860017173992231,2.46849535531157,2.9125560940729187,2.2083227983684353
+2019-03-03,4.454673688938549,3.083005193591191,2.6189523325882615,2.1726943634048923,0.0,2.863581004984992,1.868826398264322,1.0587533571494836,4.35057335988694,2.399747747907817,3.5825683669533244,3.03273941152987,2.938552222845115,2.4372249664942935,2.861428863172327,2.247480149802353
+2019-03-10,4.435926974679781,2.925887000395555,2.555151280327798,2.2811062955520147,0.026402798597167654,2.8992309781752352,1.8101181740853518,1.1048555659200152,4.333560266244872,2.478830073461959,3.8666066402510424,3.0874917909141706,2.7813039831968336,2.181386599835342,2.570957107416151,2.1253898924680774
+2019-03-17,4.447067191030325,2.904860270899684,2.357421929816055,2.222334181109203,0.0,2.7792066280080756,1.6681257704121228,1.1246016389997353,4.212106804608771,2.492696213028664,3.5901784314117986,2.8889162799966948,2.6502559520974187,2.229744114318867,2.7961909735302855,2.3041754234849057
+2019-03-24,4.219049507044148,2.9901065102079225,2.366968672412226,2.173283824687023,0.0,2.649403816320245,1.502248165805648,1.1871916066918553,4.2532882296059205,2.552726174866352,3.578625944391902,2.9381758635608666,2.687053370411903,2.3136726034844703,2.7210073376511508,2.2228714644311376
+2019-03-31,4.291759061901804,2.944336937367949,2.176647299646398,2.2947827610704166,0.0,2.6787225939622625,1.4666931628221649,0.9186416183845871,4.172522880587578,2.544673866473778,3.633599811035951,3.0868114949727388,2.9130018743004666,2.4311888748010806,2.723869013331323,2.012580082944662
+2019-04-07,4.07540092666181,2.8797422651612616,2.2342300279812206,2.446430993184786,0.0,2.4979335375897014,1.5492930794969033,1.22945151479522,4.144614847436372,2.624328198106405,3.7039608127189987,3.2566014683645514,2.7184872240401354,2.296612767956484,2.655859468537909,2.152761072752555
+2019-04-14,4.096150234929616,3.0009891036657024,2.1089787994827294,2.4113623791272647,0.0,2.4095942034281035,1.4862905126090458,1.1529355260332637,4.323647993868354,2.573015509382762,3.480508118212271,3.0767888104306076,2.5441150670967043,2.4058001868822743,2.621984005070683,1.8762607000093068
+2019-04-21,3.9994139398315838,2.77554421545367,2.2553044176230426,2.2563689784701317,0.0,2.457903336833757,1.5359392028762628,0.8719595900572931,3.9587491251798457,2.7608408420326347,3.6015309116178873,3.1661857756665186,2.605707664127921,2.2250777062370766,2.6469119063872877,2.0559476114023583
+2019-04-28,4.109720898896629,2.8396669991225783,2.3524982002728727,2.2782992797606565,0.0,2.2081576684353794,1.4198285083075113,0.9881383206401346,4.030866219589263,2.759923868717599,3.581723626597337,3.2020345071466836,2.601218583456214,2.2563320143078567,2.522349061478528,2.086053924062189
+2019-05-05,3.975693419005199,2.9939705377820047,2.2659846292431975,2.377007713433725,0.0,2.262447046148974,1.4518579910969975,1.092546227036705,4.044104508008201,2.740008308855562,3.568334144520812,3.296705039278828,2.668352055180418,2.2258221288127347,2.5662133090868235,1.9223714700990537
+2019-05-12,3.823134202902927,2.779892545252502,1.9408816358206358,2.3364544754593646,0.0,2.0764416950497244,1.5034467926663504,0.9000426876973049,4.004595221179672,2.785236545989025,3.3745218460969855,3.1338196037114,2.4993334524547026,2.1040777474225885,2.436438340252899,1.7160544693115398
+2019-05-19,3.865353396795149,3.0928345533973083,1.9292594666167615,2.4055406042516796,0.0,2.131037929529875,1.5328288871458717,0.8157706060225047,3.944679006963039,2.648160149496628,3.563979930901444,3.199897925057806,2.4028997469131195,2.193195840879845,2.494029684074352,2.007441694823358
+2019-05-26,3.9981768658266565,3.075575995903376,2.205845090126493,2.5167166745835154,0.0,2.003704623787626,1.229565662329962,0.5110127764896908,4.087806807638017,2.66784776352105,3.5686881718067833,3.3269553646969983,2.672411757038306,2.3228577868505558,2.572798182147168,1.8337637774575692
+2019-06-02,3.7850918853838706,3.157781080401943,1.9460670377857363,2.4808422775918957,0.0,1.8297874303282844,1.4174872787006807,0.7834674798848138,4.165083225489255,2.614384432772949,3.5200603513275834,3.276320320711041,2.3394151322499335,2.1805618002227773,2.3169351153210584,1.7778734933658593
+2019-06-09,3.8069502224592457,2.939545423618909,1.9590299925055916,2.476829299391501,0.0,2.17357269907108,1.4348496642651998,0.5414685560472783,4.049461657814679,2.497097397937274,3.233830509442466,2.928415155009834,2.53399152534607,2.090480207687597,2.515675632541179,1.817083545727553
+2019-06-16,3.959983122657643,3.1405831407076574,1.8753242031133228,2.447291583419592,0.0,2.033983988967504,1.2649105331631725,0.7121192523729928,4.088372383181687,2.4427071569959753,3.3981009408226535,3.0651820855818355,2.23298558469898,2.277579596287203,2.2664847715015326,1.8191720947695442
+2019-06-23,3.8654395635709675,3.3744189704085823,1.6926079436763233,2.4695599124181555,0.0,2.0127480062071417,1.3341574422432663,0.34993388239209466,3.888087206327773,2.2540940447226916,3.2684947013092587,3.27362795107468,2.2766769871985444,2.0980184371882338,2.3723462478515174,1.659962607446115
+2019-06-30,3.769097319836259,3.5081585690675734,1.7196054884393013,2.837631417656808,0.0,1.9071952029251007,1.060699082777321,0.29039296597862496,4.120626413140317,2.190464549007539,3.3285868019135196,3.0922142812760782,2.471950908942068,2.3323753857097236,2.487468703447899,1.7339376671468494
+2019-07-07,3.962975294240099,3.5251294542565343,1.7052759477924362,2.834317077670189,0.0,2.0323116730407764,1.1744294902847632,0.415196827978747,3.8918176009903034,2.03576988843059,3.4056364137893653,3.087299528022178,2.3798653133344505,2.2909431128971267,2.296025380337147,1.7602106060282523
+2019-07-14,3.829810449638197,3.7169292680787573,1.6457564602147303,3.0159027877414637,0.0,1.8180574199548696,1.080613432735863,0.3760316063702682,4.103969888791756,1.7962943833139238,3.3243349588251982,3.092231047674856,2.43040778981887,2.0536951295214756,2.579707079257359,1.763161406680538
+2019-07-21,3.7555333640926114,3.619675839776635,1.4151830874573845,3.071290261084818,0.2954533563529549,1.9873442885568753,1.1376740281930127,0.1661228002750489,3.9396064237725246,1.962104729654286,3.469945747076621,2.791713055769425,2.3582644843176173,2.4679192817578746,2.3135082240066667,1.7316987851535863
+2019-07-28,3.8716505170134727,3.576664973824128,1.5554703607705973,3.203296208330242,0.20845392238102922,2.056589690514082,1.1630576267372528,0.18708242074299772,3.94555444649299,1.7385847606125355,3.5339025603591177,2.941041974094303,2.406747136904611,2.2555265405985265,2.2141947215572526,1.8673988276793239
+2019-08-04,3.8777214382007554,3.6525146605856627,1.3033883294011412,3.445961231543053,0.4140549070995684,2.1612805126689962,1.1447296114537868,0.14468355442238925,3.952730165017418,1.393868381096554,3.3948979139821507,2.7616918354153155,2.3824167710242503,2.369971915929737,2.499236451023346,1.8156713339477295
+2019-08-11,4.16385911828398,3.685905912836358,1.4418013018606999,3.6406085311512797,0.7781285887492637,2.1373057930757455,1.152428103592697,0.08149769177126702,4.175003311217536,1.374129160692454,3.5307219492904554,2.732115785550414,2.403671721662727,2.4141561379820464,2.497177617309464,1.7911828214571974
+2019-08-18,4.122628588653307,3.7074619772588266,1.3266999145789231,3.9565390812798187,0.7794651315732604,2.4668449566728547,1.1305578936909952,0.19374462019984887,4.062829198938919,1.5097681065031194,3.5817311892672956,2.8139856250584594,2.5941434359591735,2.551478750639469,2.57791549590374,1.6582973684640523
+2019-08-25,4.021598295301411,3.6438784648933003,1.5183663550010498,3.9071307425275807,0.7192068804523204,2.2377644157657,1.0703368064595824,0.10143305402640657,4.121455569644546,1.4657010354554887,3.7614028159457775,2.6975337963230284,2.516858422774829,2.5267837429082305,2.5747294256378352,1.8928523163974005
+2019-09-01,4.078583894296146,3.6275118413354006,1.4843283025628828,4.008424064608703,0.6910113770716354,2.4626581482398273,1.3094273337804416,0.232658852135731,3.960618783070318,1.0794560280060048,3.667960862593018,2.5232520481175333,2.638886596181909,2.62374402924791,2.74605408163934,2.018934804912286
+2019-09-08,4.290620842482318,3.48864546675755,1.3984293839342528,4.432280324471216,0.968148871965785,2.652727122964916,1.1561650158468741,0.3194113276358794,4.081781414333714,1.3471714372895138,3.7651890556467245,2.4469996370874534,2.4939783969306655,2.694312932473016,2.5615428023492472,1.8599317318536472
+2019-09-15,4.278465498332384,3.395090679579946,1.4222540487308164,4.273307086449475,1.0091196352114236,2.791865616390763,1.2045725220767738,0.39973636391424133,4.000864094894373,1.4732362581046974,3.8710393932046987,2.3468988620394993,2.527778992786618,2.7120599761317328,2.5805354742484496,1.7492741685644584
+2019-09-22,4.312802827596047,3.526662116202075,1.551348037259137,4.595028186890194,1.2205472678371645,2.5280248925241584,1.324258983348469,0.29104465522888334,3.9582225571790146,1.2270565731340128,4.003143928315518,2.4601705141811734,2.5596006421089905,2.7824219908374803,2.756214843155445,1.906016503883924
+2019-09-29,4.43711560194079,3.0448924545905287,1.467756694951105,4.638951840142328,1.4226142176560659,2.480701414697654,1.4613563070849789,0.5034834965553975,3.723281911028877,1.3119428038739767,3.936112076323988,2.4127203370256707,2.630168890916957,2.814099861521755,2.812032049122971,1.8107359085326917
+2019-10-06,4.452762862501384,3.211983777080542,1.9012738541739158,4.508842904987067,1.1519669900735539,2.6854172274890855,1.3375389594086602,0.4400218310130415,3.7288270316391974,1.4436008790856159,4.000594383834892,2.4993372363453106,2.7862660006136,2.9685544293759447,2.648163731129633,1.9359985227297045
+2019-10-13,4.661625730958062,3.106780370099098,1.9829683618823652,4.541212422381408,1.2914494612989729,2.6852599578837064,1.4894408377438153,0.21367979045190838,3.6765654850626515,1.510391871074939,3.834031616213292,2.580580419148875,2.921250747486249,2.998195480607111,2.7766674250240486,2.0594584852686384
+2019-10-20,4.754912181024579,3.0878844418253353,2.3228362381204954,4.3074898882893375,1.429424466444494,2.860074332752534,1.5384923799136148,0.5966429220599794,3.64747643032052,1.614244214842002,4.215197932065946,2.4464884769712625,2.7106165430495603,2.884485597251219,2.8297131172728647,2.223309186929453
+2019-10-27,4.789118950211161,3.0900802646209264,2.2810346519842457,4.221193195694631,1.4366470568183518,2.7615554828262443,1.5382129515178666,0.3811873152561591,3.9743966091724556,1.8148751506683414,4.119144612160134,2.6526055173149667,2.7864639328491703,2.771364741305322,2.8522746491787276,1.9832827529347647
+2019-11-03,4.794926849267704,2.8958737254214535,2.35436980746579,3.9167838315511507,1.3913488627179325,3.068583188059346,1.4936233864897517,0.5762038573279652,3.9805471493677556,1.8825822677003174,3.9050469761375095,2.739723135186007,2.869025711397683,2.5804578784225845,2.946995142701765,2.02555694082322
+2019-11-10,4.737668521842187,3.049843767544227,2.2730107254120924,4.0120252654769635,1.1671996867779248,2.993995121109069,1.7468616505047003,0.6369080439558454,3.880253307205591,1.7983143465798155,3.919511718035423,2.663201081704239,2.8817295404890184,2.9578521958581723,2.873006578813427,2.103711837150232
+2019-11-17,4.840807997539578,3.227120572929824,2.459309704699416,3.8281081233348573,1.3968425428721614,3.0519300644414447,1.5770727398715074,0.7241013104342029,4.052509075463713,1.9087358054398564,3.811905544643565,2.7394428053700053,3.0222132113345967,2.5652248665883337,2.8576004601589795,2.1656691834659414
+2019-11-24,4.800550632002293,3.037075135455054,2.739066279360964,3.4294007528860986,1.4208741852365705,2.9425055034838277,1.6248995991389177,0.8149437500780636,3.927545010391268,2.058880996043665,3.928129522314144,2.8007190148358037,2.9674824762395335,2.816265096039878,3.1334598338972235,2.1256519712479163
+2019-12-01,5.043601267869221,3.101020859282832,2.636561951426129,3.299461418405731,1.3343836052311584,3.176140109186704,1.6407385521052615,0.6870291266615096,3.702664192289297,2.1608835810743177,3.846234926448478,2.878991868058327,2.7068543917718433,2.8714568553349467,2.8105468226382744,2.1619742795888017
+2019-12-08,4.972546570451678,3.0295120332948304,2.762849233150867,3.1734697082339594,1.087875560051154,3.067021566278413,1.65148482808648,1.0001755697697026,4.067392211942509,1.956567966319963,3.9776147858304594,2.8433949180462164,3.03162696044061,2.5630353983846708,3.256366589409596,2.3311800191219234
+2019-12-15,5.1701149131239,3.058725329617889,2.894607792560195,2.723490862961546,1.1894689626636352,3.200707221704757,1.9131839074493924,0.8439675889648981,4.03716635602594,2.139593546702008,3.833977545994988,2.8741665174446016,2.914546502485429,2.7526636087093452,3.024386952140169,2.194931867290918
+2019-12-22,5.070896666011211,3.0010986005492706,2.82594552408998,2.730394336766988,1.066605307480865,3.1590185918253826,1.8887697466814293,1.0425952067304396,4.027795756500203,2.151125555687092,3.7827854118893782,2.9658878483540723,2.9983821925147276,2.552761125945155,3.0063896610850716,2.038449463018756
+2019-12-29,5.091358811162243,3.0987477598903705,2.894628935587495,2.6336903953250865,0.8575491995097062,3.1419383689992055,1.6998130468638677,0.9616471457809184,4.061211784111974,2.1147572738189564,3.948950500608732,2.7788423108442206,3.0265933196771284,2.3750785197556303,2.9401777395787194,2.3040622644224973
+2020-01-05,5.090618448546546,3.1988123749369226,2.8716468039874843,2.6287137146509516,1.1555773415152677,3.449104569979867,1.8504165962219572,0.9581680160264048,3.7748778332885946,2.0679671791840515,3.949128903189318,2.8351837462213894,3.0386083286202457,2.623572844332693,2.9731296673867535,2.3444265786508156
+2020-01-12,5.102948948897607,3.148997788395963,2.7728574725177166,2.4006146115326357,0.8719258882619733,3.2776725244353004,1.7814169169673864,1.008395732516363,4.096070262972453,2.177175971775175,3.91875924475108,2.7084440410765493,3.307692287266155,2.5379753183591864,3.1001367927472576,2.242165333349835
+2020-01-19,5.11652402879883,2.9625599638989493,2.7510130545136353,2.2895060059021355,0.8122496609893783,3.0997920765889986,1.8019090867550238,1.0509160595556026,4.336150514600574,1.9559947081808045,3.699102995298753,2.9686028764826995,2.9471520459800034,2.3236463816317228,3.0276900887619362,2.1278178223420494
+2020-01-26,5.125385567954624,3.1156143398913847,2.841872385220084,2.2136808438986844,0.6142206850481202,3.1776420719629304,1.9595039829657235,0.9352311001266648,4.197932589177266,2.210269380694248,3.8721498160827528,2.7160446333975394,3.0718514395665135,2.594440440319175,2.8797196835768233,2.100917860880319
+2020-02-02,5.0386522547587775,3.1222663197363203,2.7416216759590757,2.1902539594078183,0.6355036116456929,3.1371282402587046,1.918528529973033,1.0974895876081463,4.1433654208576485,2.163495553845145,3.704796031200749,2.8670107136678977,3.0773651454747966,2.4966250802535725,2.8880892039724877,2.4659429052305106
+2020-02-09,4.793816898471057,3.119044745403381,2.8546402772544526,2.204788909140465,0.5034419466727786,3.009676341248374,1.6431457927114024,1.1109029006552016,4.2954811960600034,2.174014131468845,3.6939440871488887,2.7809901351713373,3.000344366580223,2.511719370916533,2.9145357996740864,2.188512817847619
+2020-02-16,4.78519235180603,3.051504630294564,2.880185745756789,2.166005780789346,0.458232950696699,3.2033834134828414,1.9513122985428188,1.0775103218256825,4.362392531937796,2.188902037372358,3.7210358358648494,2.9018993932935393,2.8954612850123764,2.444858576867551,2.958846157017108,2.1395863963111292
+2020-02-23,4.490361133438634,3.1105497449655375,2.688539845962387,2.1840175677079405,0.26844087649382065,2.89838873279607,1.6065448425601236,1.202621475649724,4.241428228919685,2.1675560981719735,3.9743309569934486,2.9258195518773507,2.879849841864124,2.3093330782544577,3.055133590981597,2.324274905971609
+2020-03-01,4.431862029147058,3.033240621512438,2.467380318326428,2.140156614691314,0.2917875379065549,2.9740355105474103,1.6815118056697236,1.259334339064979,4.3333692249524125,2.3131506822593213,3.789696970529106,2.9484033330026973,2.974417927483164,2.267094517912685,2.8240446111342044,2.4017846576758255
+2020-03-08,4.5231154191908205,3.01039262088709,2.407523886533219,2.1290883112956203,0.20728858550413837,2.730729922248375,1.5428975417509228,1.1066327900299684,4.258527827119777,2.4414067764190652,3.8278382969293823,2.849614219666288,2.9414412309704643,2.3555466599739803,2.797673324515298,2.1098274462731847
+2020-03-15,4.458946580239868,3.0876449746653614,2.475408054432854,2.0551375192201338,0.0,2.580729343116681,1.597066134693131,1.311315253843295,4.428120929112583,2.543794932007193,3.4946888528925992,2.9187130103629704,2.7546101040106206,2.371167756260138,2.7132279532517725,2.1608793210693586
+2020-03-22,4.301997027018525,2.895042576056694,2.3866814528265996,2.376716984685773,0.0,2.9278095416563947,1.3951542162524553,1.1232255825961883,4.3015338073673615,2.6043167742927498,3.6939159697820947,2.9658371544406714,2.75165201080672,2.269581874625922,2.6262012866830644,1.9697368739041405
+2020-03-29,4.203435193572733,2.931475850994109,2.2941191866530155,2.2258969950923175,0.0,2.5826657916581452,1.5356723678313906,1.182988888651448,4.153812799361892,2.540423537379147,3.6457004471953365,3.222567874004397,2.68247303141096,2.298383179181063,2.5353241358950767,2.1120835376332727
+2020-04-05,3.9764675319020193,2.9244546152923045,2.1993555125208695,2.346635179164287,0.0,2.7175713782930613,1.4808245737716694,1.142745232777095,4.106504122644174,2.6091164777718627,3.5839601604345193,3.0328461430129567,2.5884183241967453,2.3851233978115762,2.4895330897226446,2.12101042184639
+2020-04-12,3.952694144243092,2.8098862634549686,2.1482948525944168,2.3034445230991345,0.0,2.286046333547779,1.5492106742574052,1.1171637212065662,4.260111585354197,2.596776920717657,3.7184665806466883,3.216028587841093,2.60866733095044,2.12063391487459,2.606277347870992,2.0650962348972217
+2020-04-19,4.247514489108741,2.875787137793954,2.1611396893390875,2.480079420823346,0.0,2.3286544605610797,1.4052814304966639,1.1423573316597464,3.994190758132458,2.6698103048146318,3.4640058303483094,3.1023338777230456,2.4756845296338668,2.3290295061175925,2.663647430811768,1.9191886982288708
+2020-04-26,3.8839449162423874,2.9398052601006444,2.239429161948923,2.5926624654524106,0.0,2.250123664561094,1.3959130229274788,0.9086891188172355,4.095884744876442,2.777071834572564,3.752874992366521,3.2439135658701885,2.606846939048945,2.380207369853356,2.5662711856378264,2.1062719572083695
+2020-05-03,4.123884296413319,2.80124324859197,1.9322891234925914,2.229385310888719,0.0,2.224069872462128,1.410433040110333,1.1345174875352306,3.911681569689911,2.601749480991931,3.5066576700744716,3.0860215758757303,2.570890839977446,2.1004575664366145,2.613291368640111,2.0255585528302933
+2020-05-10,3.8315304785104374,2.9969895795934955,2.186102058043861,2.3850713360710514,0.0,2.2899734844302904,1.5749215653204554,0.9833201028555587,4.042868434758227,2.7162098583171077,3.5490696625265747,3.256049840434347,2.6495248083635348,2.250239507808262,2.3824292069875823,1.8944257494031485
+2020-05-17,3.915857463448669,3.0862891454442476,2.0442994484551433,2.5006468247097864,0.0,2.1590136685465438,1.4238876718254725,1.0009997246029458,3.8925525555696114,2.747415379578856,3.5451975732321137,3.4060753660075345,2.4945176677839713,2.321757422366436,2.231987097360764,1.934363590892438
+2020-05-24,3.93603693832532,2.946169443615829,1.9592879505550107,2.5298797875820975,0.0,1.859218112102768,1.3070037947177906,0.8029400169550224,3.907069765446917,2.751481129617719,3.511021294037863,3.190025224207993,2.549777197378852,2.031313768478194,2.44305353023466,1.9918693433142673
+2020-05-31,3.8938069538920512,2.9910087041464553,2.0037418652843266,2.393962620491221,0.0,2.0770045526896563,1.37003139704862,0.5976345306218265,3.8487096656172475,2.6943416844419676,3.334152618140156,3.055038035977383,2.548295147038244,2.17618691742066,2.2897986057576274,1.8767223630552965
+2020-06-07,3.882172662719838,3.269384101125033,1.898476646602558,2.29193623802455,0.0,1.9884391419419676,1.3536988986306107,0.6380766819391109,4.128102350757627,2.412637958657529,3.468349596462344,3.3321191252332034,2.4510512243029154,2.207642742330186,2.259470805498065,1.8210829189207514
+2020-06-14,3.75095419699496,3.23879743197572,1.9572457082253332,2.5674454490884324,0.0,2.032880848241219,1.501249385666479,0.561672939106878,3.8733218186904126,2.309413279384845,3.299407038489628,3.316830873296255,2.365516836280939,2.152065263453956,2.340373486941151,1.69816688435392
+2020-06-21,3.928435362713631,3.4213957699705553,1.7883990290512468,2.7423225813855217,0.0,2.062105537676048,1.3006531485814168,0.4662959446406003,3.9723235497071427,2.3526449609210305,3.2978761258308777,3.0918489399498696,2.4531779547909354,2.178913188895341,2.4909417473967532,1.7920196823742547
+2020-06-28,3.8166296410681086,3.5850369799488258,1.8709654067953023,2.6485109201121335,0.0,1.9206881617336053,1.0711683234895277,0.35302180985221937,4.190139476563395,2.2483718739217715,3.3322994399506793,3.2848736080386227,2.281679564139714,2.2121233518568433,2.250692807999761,1.8795223879240548
+2020-07-05,4.033241878949752,3.4325371438527994,1.7031576415850065,2.780550708829535,0.023985268062978654,1.9245167944860884,1.197627116508619,0.34495478005534486,4.030828305732213,2.121955060743689,3.2921810501670103,3.167653172871372,2.1712573617229753,2.171770898725732,2.371942284362554,1.8382542989581176
+2020-07-12,3.77953438926903,3.614735069014194,1.7383804131348388,3.0787568721472574,0.10962496498506982,1.8182413725592788,1.108138230179895,0.20098910486887006,3.857767213124218,1.8350019766305175,3.3072770915250063,2.9119186352982673,2.26979729024916,2.279435250804425,2.382270945389834,1.7805667869909083
+2020-07-19,3.829303354973997,3.838941209767273,1.5342619857708946,3.0776960056288645,0.12183028176830357,2.120684980038838,1.0761708008044342,0.1984782024896538,3.876272089925114,1.8494321887026548,3.2390914568391573,3.0394332342833357,2.5243821448074315,2.378147343884562,2.3846005427491623,1.8699742857496922
+2020-07-26,3.7801017906607743,3.764542169555343,1.560598430886521,3.2989228805533677,0.19535984277912108,2.106832127504731,1.0649794173594351,0.3119775305227877,3.968705463556549,1.798944488233933,3.306406828182324,3.0090955738762384,2.4223564539427493,2.3512652459708567,2.2981600774172275,2.007744126593
+2020-08-02,4.049558699323902,3.93675385190869,1.4058146305823171,3.4206810884304444,0.2995488252818189,1.973868053688606,1.0789249852491773,0.39657223766008837,4.111154443684299,1.4998383363291101,3.4554975912310204,2.8614802564595543,2.3536869976732,2.5060114319881874,2.3646781129795498,1.6258022740568292
+2020-08-09,3.996580761592739,3.8670283460775945,1.3846312856924514,3.6961196705178034,0.5044009835572791,2.2364396510516866,1.0521770398941834,0.29864937646975787,4.057355940628012,1.3580905096457996,3.3918719288875905,2.866673642756656,2.523952182136479,2.436421168119483,2.3630443988383734,1.760848142737187
+2020-08-16,4.079353951793911,3.91912121763378,1.2415904335225312,3.690523322873128,0.6420610912403327,2.0636685087044615,1.1392998206898701,0.28172731098552806,3.8620647864463953,1.3850252246471917,3.5535874906110685,2.649335328036918,2.5336016348058057,2.416995813234113,2.552220212136614,1.7890443093328663
+2020-08-23,4.016614087802263,3.6732326813591487,1.3271424259356779,3.956057809094366,0.6895167250579705,2.1406944779947916,1.2040231642835884,0.25255476648967823,4.022145321544157,1.3147422088081138,3.6889360548934182,2.4232616834581333,2.4270294779002266,2.7309318754008287,2.600890227604159,1.9658755523286322
+2020-08-30,4.062326758261354,3.7668548673453532,1.4196226304074622,3.948776417559267,0.9324156943361649,2.4406448410693953,1.2029765209633636,0.19815792384691938,4.027651192683493,1.3193743975907077,3.6967189011555135,2.5108975636884265,2.4223615291682625,2.578716704207641,2.4577346049411237,1.8815240233944117
+2020-09-06,4.007404202958631,3.4543659435678946,1.4365164494846037,4.304406909375473,0.9309028491391979,2.5746850630055946,1.1410407930598199,0.4017795385741847,3.960262845855703,1.254689916763611,3.7675230696527513,2.6559367083864136,2.5690335658468233,2.6582471045927605,2.5761909339011138,1.857148209382582
+2020-09-13,4.2911203618413465,3.3800324752215873,1.4928720572706808,4.309884157470166,1.282751122911895,2.6872374059803774,1.2054692901219857,0.45166773427948304,3.915693410143103,1.2978927104916265,3.86858710240973,2.343968596802593,2.446694747455488,2.695727707767969,2.6169328569221295,1.9584254053973758
+2020-09-20,4.350733081197332,3.517038648492218,1.6486080563715801,4.416227600968391,1.1212637410178066,2.684282850438819,1.494032109950279,0.2559011692751996,3.965060575028345,1.308533504616996,3.949088184553689,2.3092242544609,2.664433781429398,2.749256904580789,2.8640489433877954,1.9334270545341725
+2020-09-27,4.430739696438997,3.1083682779239106,1.8196840287418032,4.347506083026026,1.2756859071153448,2.7549753134495756,1.291643320304844,0.24321722565083742,3.9453380636827013,1.2200667066951019,4.014840161457394,2.5945260736566467,2.7938935409250845,2.881600907176025,2.609682603794691,2.1793364407698856
+2020-10-04,4.531749805711593,3.1982102485378237,2.1018708196840366,4.52959791864172,1.4420491815275236,2.896761947456028,1.612120430887101,0.5135019332465381,3.8360777601230236,1.4228942509105253,3.867835560460653,2.383178391965463,2.806336660311102,2.8101327172667396,2.736254731924187,1.952770581230494
+2020-10-11,4.415123382988483,3.1675413775323547,1.9900895215561996,4.29565259546354,1.2375402260729595,2.700557006491901,1.2881705563239998,0.5535412679464586,3.870161535064296,1.4821209824250954,3.9335597480076387,2.5188320521183982,2.8077666868072,2.824712614916822,2.9279781742499926,2.190296237115909
+2020-10-18,4.76654258295195,2.9258138527759456,2.097023478096872,4.292715009807508,1.1428976360129455,2.8922404007642015,1.4702263202207662,0.6211986275562587,3.760046424732179,1.5757601974698046,3.890091137858367,2.5826499229843103,2.912758724090718,2.8712250880210854,2.78050656488545,2.0525707797494284
+2020-10-25,4.743989391887337,3.0707514871075436,2.163014073520563,4.025405691550584,1.4337867247194442,2.7292676481117013,1.586899602408613,0.5482701111689009,3.8796174648216666,1.813586653290787,3.9784944582906836,2.5459086520822876,3.001123176663918,2.870275142267436,2.840425780191366,2.107581577126778
+2020-11-01,4.834592166508355,3.0315492992817936,2.3327158505072108,4.116648459437161,1.413983231557006,2.9186588683286026,1.5249425117540485,0.506863818141668,3.8787976332665473,1.7109072100680585,3.6936003096848338,2.619077194902795,2.871861350622366,2.8564727476916887,2.8553502512859805,2.2208636646712927
+2020-11-08,4.62263527410464,3.067917704347804,2.450562617071571,3.805173511704783,1.5099527840856541,3.126109568543545,1.4654927659254708,0.5905913351057089,3.909363007307245,1.8300239076011127,3.9307878378745813,2.672760504949941,2.8114278219045947,2.693098663421567,2.951233067908049,2.1992367260299996
+2020-11-15,4.812478280025685,3.059765057209499,2.518112510915193,3.864649790867802,1.361395338043214,2.775659849024113,1.5622104048481078,0.7658972195999206,3.992826603835029,2.0061237072107168,3.8805351536796993,2.7062980784083503,2.8637474215653187,2.8712896274927973,3.001972210943566,2.120508616549853
+2020-11-22,4.915142674706121,3.001573567018906,2.4786214557338506,3.521438084569915,1.3662192334878147,2.9888127809117147,1.5249832835459602,0.7523044852484804,3.9497923042323624,2.1475830097363855,3.996609474484332,2.8534661497895226,2.9086272595914844,2.8160924667171154,2.903121814456852,2.2685131229482844
+2020-11-29,5.02410841513818,3.2007933116895355,2.881085237330809,3.246423253885142,1.3257977448571245,3.230007904962317,1.7132507683993528,0.8368571869576136,4.030492992020347,2.242528372906302,3.75192859149929,2.736784462791323,2.911945080972369,2.527078926494969,2.9957792724595986,2.364741013822073
+2020-12-06,4.975977111415337,2.952783086404731,2.717587836079715,3.0286679603557833,1.1665316402916077,2.933926648607296,1.7091805913269076,0.550079787196329,4.091836098632018,2.101784813532177,3.9568835866543255,3.0411369671412993,2.933654150795136,2.524325529853489,3.0594262726094685,2.3379213693109753
+2020-12-13,4.961641403751672,2.978226755415157,2.8375124371348712,2.771306011832676,1.230535403380538,3.052045326019454,1.7543661560232355,0.7520903172758342,4.005406076047367,2.185663049661451,3.7620176849308073,2.8003017096660474,2.9563794504497354,2.594882809234918,2.9087122292399186,2.3383355147483433
+2020-12-20,5.10975916960253,3.0667579789461468,2.735194928824295,2.666102502070402,1.1180618050583653,3.045048016372593,1.7945067974484783,0.8607706793187698,3.8888712216967405,2.07935919593089,3.8819984054359202,2.9898885603757126,3.039708713393878,2.5194637217342164,3.008636789713523,2.491508402935725
+2020-12-27,5.233026449616833,2.96491703545498,2.7632839743953275,2.708211217695809,0.9405002391503965,3.1714439917111146,1.7183991376046142,1.0160031412977513,4.027963920625173,2.1765201077208727,3.725665545652336,2.7373968910821804,3.115247653243373,2.510275644825531,2.917276856734895,2.4047633127081838
+2021-01-03,5.185062722518325,3.1222670050452663,3.0231549125073007,2.7129118869488233,1.2052030451219502,3.2961479235967492,1.76511579836398,1.0048258249599213,4.208165030065748,2.147193169718413,3.778273757749844,2.9707782637352107,3.0898290665529586,2.5412105099176476,2.9506112175138597,2.2871216625068977
+2021-01-10,5.269579618000147,2.8931893370476924,2.934149390743742,2.309517637782891,1.0120647244530099,3.1568917287846148,1.8895730908118487,1.021237072475807,4.125559909537544,2.1071349403934962,3.6787289437617994,2.870009120521044,3.174145014165324,2.3631107081507166,3.077737285513012,2.422370301918128
+2021-01-17,5.140169996739112,3.3300940940358,2.9481722411902243,2.031165489167145,0.6585242228215029,3.2239981612692876,1.839804562161543,1.0205347694405904,4.155701272181385,2.0794309504704622,3.746319212655022,2.7982233446465745,3.2440820257242704,2.5400414157802014,3.049916904707168,2.1858525941474567
+2021-01-24,5.123281889830814,3.362861269885612,2.780184088120345,2.2098234180814544,0.6794982595802647,3.1408608898803867,1.7267329542343681,1.267807417357214,4.163779642899066,2.108606381898901,3.6915962631528694,2.791395103514422,2.928823814402807,2.503162105392408,2.851499103955195,2.3134475432789956
+2021-01-31,5.200564013023267,3.234440771526239,2.9794513027704608,2.0872952992324465,0.5313676742088056,3.161806667698294,1.836415440128033,1.1198161520904413,4.170266614987349,2.0355423620950286,3.8577972079465006,2.8014825718449936,2.8335991391063717,2.4230739019993273,2.9084639937337466,2.223965383553133
+2021-02-07,4.8958551723800285,3.2484602792973423,2.703559046901988,2.072174615345634,0.46576927083247716,3.1343086560018687,1.9117358219961045,1.052138526151414,4.123064911126498,2.1698545187143146,3.6734454064168864,2.9979415574062367,3.0121647016141297,2.3827185778278723,2.9962082970741917,2.2239986155619516
+2021-02-14,4.85322189482718,2.9520801413680586,2.7227863956034657,2.196794078580089,0.4173118293339992,3.151474759426208,1.8027062892065517,1.2139508374725283,4.107577048081507,2.377532441544307,3.795583092649851,2.9001681190848787,2.928407021345928,2.409081338544162,2.943879555864872,2.195272060470052
+2021-02-21,4.6169670062085695,3.1348797294880844,2.663284251776557,2.0550402260979115,0.42928274016415097,3.1256408910762805,1.8387499242201903,1.255627086585431,4.383232556183565,2.2558365078558613,3.7007045217730994,2.8301755902627654,2.90015212586495,2.3529878735958487,2.979311998879878,2.1962630468146522
+2021-02-28,4.552810367974749,3.039076114326663,2.7330701093271474,2.0924809107350715,0.2551196131917625,3.0063514238954467,1.6890768913973806,1.1079282245220081,4.109411014434288,2.435961980714626,3.653026262338423,2.662515015802488,3.0149801244970003,2.4462074134028615,2.743856191824939,2.0668234623634327
+2021-03-07,4.320046414437477,3.0267143439143753,2.390508732765814,2.306359671598654,0.170781203857936,2.9206744302007435,1.8420601575169864,1.2371151595758236,4.239203897199306,2.494696051509695,3.7209476756030297,3.0086712883449582,2.842904723980727,2.1613770482205137,2.7708505328995807,2.0999844925950715
+2021-03-14,4.226389250389253,3.081479179759587,2.488102245668218,2.368444710696366,0.059118289597190676,2.8161358710271247,1.6934161118651845,1.1853925237624667,4.135085463171767,2.388789163435563,3.698671748447092,3.11010798211605,2.7500144150498853,2.3137250606425224,2.7561564627357185,2.039251101427289
+2021-03-21,4.143863170603663,3.0060754224316195,2.172799900253951,2.3317161070903585,0.0,2.6164289180240017,1.7695027190049673,1.2810644495484604,4.233357248070247,2.464626238573404,3.597076189673447,2.9436308433002414,2.5821094344040136,2.2452656670906297,2.727507470586629,2.080261727671468
+2021-03-28,4.205626924052367,2.9740061685288097,2.122800677211123,2.3372048937357532,0.0,2.634038782191348,1.4745830787549563,1.1621670652743932,4.269626134816429,2.561257893970838,3.6639177820432884,2.9767447890423537,2.6514834733988937,2.384998345178276,2.628659204427169,2.0526164462966183
+2021-04-04,4.2722076121195425,3.1159994323115034,2.1211630076332337,2.4314410904696713,0.0,2.693813341173309,1.4423487159527888,1.056481775592464,4.263278761940069,2.7926904631694254,3.427753533298914,3.122846050759259,2.725727159781716,2.406666861732532,2.567653550172098,2.15506268553644
+2021-04-11,4.211636058318599,2.8822217785652144,2.3292197893702102,2.4735593894666486,0.0,2.525571725996188,1.4494403614288696,1.1517379854950378,4.093509041525842,2.6196036645928613,3.7136790511518845,3.044747375470345,2.7047669914322245,2.271809961262744,2.5722673041312354,2.1603867059361814
+2021-04-18,3.901235279892566,2.932318686795836,2.195491677697319,2.3284592622582507,0.0,2.296665336987039,1.4701070717088212,1.1977376591750781,4.054954564746064,2.7863450124511147,3.553558850774144,3.030198819698821,2.6504305989477652,2.23734808681327,2.6542230479685816,1.9702964128934628
+2021-04-25,4.049615810906738,2.9054650137135973,2.20916594545008,2.3139993163466457,0.0,2.272599224020862,1.455449875499267,1.0399484147302511,4.180080770170762,2.65748091377098,3.606914276422825,3.1083171181030855,2.5512379510106604,2.2344631731069633,2.476092065670194,1.9931279956380825
+2021-05-02,4.017210642354872,3.018090447005987,1.9900478556731893,2.38594552909195,0.0,2.1660389914571794,1.473775666457004,0.7992784280237333,4.0764831864077395,2.6782950748658942,3.6083243123572912,3.3052293374858075,2.5712468929531647,2.1793389907290774,2.7323671524709274,1.971713464422599
+2021-05-09,3.8375908333339392,2.9492112787786287,2.2233772821050373,2.5472842600709336,0.0,2.2292344877110426,1.324434418277968,0.858141683460041,4.031409737430442,2.8374637148935293,3.563952750959472,3.205886575883362,2.4341714138083246,2.2400051638319245,2.4993068633029276,1.9953853786901898
+2021-05-16,3.9855767189331086,2.984357430256942,2.1364581200050874,2.6636067311305642,0.0,2.209042754350955,1.3964073557428003,0.8217992486621414,3.951613748540791,2.627773307123984,3.5029770171535124,3.3179861037268545,2.481855292809214,2.2292105678023115,2.362653826414364,2.017177512899639
+2021-05-23,3.963406680970355,3.1052891511691025,2.1220247459806316,2.3994758327558428,0.0,2.1540003790482305,1.5136818368174811,0.6020722182024244,3.984888846423613,2.711951952933599,3.4013695233523644,3.2710257873150077,2.636203275210043,2.1755582230435695,2.3274349374217693,1.7992664513407546
+2021-05-30,3.882698102305482,3.020958678619925,2.15885923804601,2.411908336891937,0.0,1.9708820833391378,1.441627088361265,0.630455207009786,4.2494590278523585,2.440598203901641,3.3440891751884583,3.1042658423616074,2.5200211461128457,2.399212370913007,2.2732997894950016,1.7615383559455053
+2021-06-06,3.7250463992930882,3.1997942733444265,2.03738146069625,2.4056570954078547,0.0,1.9408696787818827,1.3278429691785736,0.7340023776528186,4.285324889800505,2.732220527974431,3.4009743848173537,3.1588461349986448,2.3365372124422454,2.1495426865825746,2.324225280613079,1.7434048674680978
+2021-06-13,3.7254041235643327,3.4036993828355415,1.9762731573230985,2.5170978466358407,0.0,2.0693943428834958,1.3291006374613843,0.5605119295328174,4.159879699568858,2.469861739330324,3.271182556257556,3.0877114536106802,2.3963691956830666,2.240007998871814,2.4174940684343165,1.8205935977971723
+2021-06-20,3.9076465480472318,3.2074492512061754,1.8124022319864315,2.6808109370705377,0.0,1.9153399502367863,1.1101736171149992,0.5088830055480902,4.041594006488877,2.321725484359748,3.4202187827838504,3.109065320452403,2.480355303394599,2.0504139880714436,2.4085346334445012,1.92514320857858
+2021-06-27,3.7556267882844843,3.4921532721244684,1.7351771879041324,2.7346926903471336,0.0,2.0575045366046614,1.165361653719206,0.2992310511848876,4.157136738572282,2.1426200755013087,3.31740773164648,3.2167386096268586,2.478554015098439,2.117520705206197,2.4786804312402824,1.7530202328034494
+2021-07-04,3.744147834013211,3.555189542635239,1.6413845910878875,2.8282268483283555,0.0,1.96569046587454,1.096575718276554,0.4068011409284186,3.8948430915875005,2.0781566375861202,3.1642298401028923,3.1060576445868615,2.3934903924629265,2.4125638503182114,2.3662754760117997,1.741070858907706
+2021-07-11,4.084164138676533,3.6673821163634455,1.6459869973503594,2.8600107248990057,0.0,2.1041981582807483,1.0411181710100008,0.19852945288233032,4.019441792202629,1.9363700556046097,3.3010740785996937,2.951329547341511,2.2879857369823324,2.373134343539165,2.1710874034579555,1.637298713676405
+2021-07-18,3.972233725960775,3.614829637433018,1.7474394523331562,3.0203352312901353,0.14192854849186826,1.928180857665586,1.0094475379738166,0.16991055079631526,3.898449010658267,1.8598529583867212,3.3956393502646374,2.79143162556094,2.370695187372681,2.3852664341643997,2.407734157324679,1.6690361178909996
+2021-07-25,3.9349604655707053,3.5872749071075787,1.565770808404055,3.4216885853817205,0.2107105143308572,2.1268519108528263,1.0979942920213075,0.24572879774206097,3.9831550473657575,1.5457492266439636,3.405724894496906,2.9316482704069973,2.4729536123119735,2.3661579951284355,2.406807909156459,1.8235182324446528
+2021-08-01,3.83810026766595,3.776176449421993,1.4480840714101508,3.4395776338701394,0.47715383045961096,2.197652538949241,1.0762469875136784,0.27187527328066674,3.87525239165006,1.495259670552231,3.6162407852889302,2.826964035381568,2.39021252623925,2.352951880714974,2.4095596573154054,1.8158078395629302
+2021-08-08,3.85116023324338,3.6860245889823453,1.3421907485655713,3.6988330337209807,0.4802412300596537,2.455004434932399,0.9923147767159246,0.10126944197895288,3.8783568726012416,1.559952800731608,3.60095715646449,2.6162630356341423,2.352905751031056,2.5494114355312276,2.427229494408413,1.7075707017566015
+2021-08-15,4.015744457671635,3.8381156643767125,1.4443788454741557,3.925101470666646,0.6603066093625709,2.350806585230908,1.0957280428241007,0.14427442218926145,4.168855360556898,1.6409265037546377,3.585472745551735,2.624569465981453,2.4711957235159847,2.393149310919284,2.4666451374915406,1.7096005657858213
+2021-08-22,4.0718562205101705,3.6138133465922073,1.3994695575112783,4.199211451427153,0.7451484022115435,2.456240189767981,1.2709571570771352,0.20901687223907495,4.113779802228229,1.1956103568682357,3.6958160193011675,2.604054799635855,2.400914748555679,2.7139641959185714,2.3848367532985506,1.8114229783393687
+2021-08-29,4.098773847510007,3.5295459842279535,1.4970622561114808,4.114634528602768,0.9122798850022309,2.445192976203967,1.1869306101481267,0.18117388135788987,4.254374333025714,1.4232746935358576,3.6794375200795812,2.4524005886355216,2.3816141883604396,2.615041389144539,2.4771499592978445,1.7721768202639077
+2021-09-05,4.092395110462097,3.565827977369668,1.4973583563014687,4.3471653973173385,1.1243892363467605,2.6317347741059236,1.1530800445477274,0.1663998441984331,3.988597651372395,1.3538157034772536,3.785172589590478,2.5539188630841876,2.5836666255139358,2.6205150426976838,2.4845068342562215,2.0382588925779985
+2021-09-12,4.351032525871054,3.47793534664782,1.619353179015898,4.375674983444045,1.1221656052013713,2.497015608911498,1.1288632670536873,0.3389159208314466,4.018305821703804,1.1721235017473906,3.8856033723829855,2.3993801994398236,2.3433228151751457,2.819721227009178,2.7266456277369335,2.000454820439158
+2021-09-19,4.2551489224438415,3.2874089702572378,1.8002944706140693,4.415834709063253,1.0285885350332193,2.7289154373354596,1.4340677616096245,0.24817092765884396,3.918963318568224,1.2535956793025365,3.8213982466075556,2.4091672101621096,2.641839002227373,2.705596193070156,2.8868668556252706,2.1743669458435853
+2021-09-26,4.403731943536595,3.235744416686387,1.6922116985839162,4.411488854810967,1.181637300718506,2.8506281174147627,1.4014421064608371,0.30243496812571086,3.7747675923527733,1.1377338341946603,4.068040664343125,2.478359324905277,2.511860314144522,2.850626428454493,2.8411270915112903,1.9958776705129413
+2021-10-03,4.602705949955485,3.2835732273206544,1.89833287992032,4.390826693232165,1.250545304830018,2.8440871315108454,1.4439544480563697,0.3773758155312237,3.9669910453116906,1.3307223041635141,4.018148841157829,2.5104591480454896,2.6608422430441223,2.7922574547139676,2.738941164421974,1.979049394109973
+2021-10-10,4.385119030671674,3.1161492207197385,1.9875293987726876,4.420741725439562,1.3286341273333226,2.744785701752538,1.5757531121628314,0.45496581034117506,3.9747661436121478,1.5843618158780186,3.8916436176035565,2.4031125213383597,2.7129255594852655,2.591995659614468,2.745480268042217,1.9523992328159354
+2021-10-17,4.6468406869597905,3.2660316471158963,2.099375796632779,4.293486016024068,1.277108202768394,2.9728761464592894,1.4206005568412423,0.5470076987296101,3.7113710497107775,1.5205004034190175,3.938435182377488,2.340885597677909,2.6974962326226826,2.880228027915444,2.878614942848598,1.9644034262925345
+2021-10-24,4.815446498217765,3.072367171741809,2.1475585396866803,4.412673245836407,1.6000686664074677,2.8612337591753145,1.4118428069595614,0.5746745133136769,3.8303296999172614,1.6052142101827482,3.6869144709117134,2.6651152635812245,3.0308751916329153,2.84752221532069,2.987232052105005,2.1815432056106268
+2021-10-31,4.914662223202868,2.7879218186428223,2.2158105021236496,4.058135113069067,1.4142995146103043,2.784063954948109,1.572300227685123,0.5893524985989371,3.8581668016078665,1.7614567901476623,4.058985819415076,2.5939528251364017,2.919174749954848,2.922358609203089,2.9733066450645573,2.144240649026109
+2021-11-07,4.8263534104494585,2.776599110812411,2.430552314926098,3.8827472258110487,1.3143663219176847,2.9626565712216757,1.4564595901490522,0.6371903379788193,3.8959022717887315,1.859062298531528,4.036563255028968,2.630195964155527,2.8737550295221377,2.676367141285933,3.003857826464062,2.2072757325944825
+2021-11-14,4.898312860950053,3.1145372756794556,2.598273249159978,3.848429716374346,1.5230448393553837,3.0245317074475957,1.5312462128011877,0.8124376063087569,3.779579782695793,2.028506228810282,3.8067507217359102,2.516919204218056,2.8872243483218303,2.723504725918982,2.8497975897813785,2.1271887154270988
+2021-11-21,4.9140595586760805,3.1301349434320453,2.799521118671157,3.6183147603764287,1.331661568113237,2.9381340764588657,1.4791089014679186,0.8662324590069055,3.8203788238698313,1.9315503958748552,3.7099055806191696,2.6002392698221444,2.899261923239083,2.650261460349967,2.883986832860132,2.1380441940029007
+2021-11-28,5.064078361254224,3.107626212828064,2.8127547662046317,3.163866812147184,1.2537190584611766,3.141331142378451,1.8355246730968353,0.8004941333768462,3.9195566844745082,2.0940702247182617,3.956600971061071,2.6880327125006414,2.8558491064561298,2.81825063539665,3.0328490305476175,2.423330150367324
+2021-12-05,5.032632232289378,2.75893541127248,2.628662292328971,3.1526639606773,1.2828263581386847,3.0625965138018207,1.8690449803548623,1.029967009516671,3.894295676353987,2.1637728485843026,3.7430753235182834,2.8381514073635308,2.8796122983445236,2.7372094348858274,3.057582611136281,2.3324576445380325
+2021-12-12,5.2943655308044475,3.1072357933075425,2.6918936585683886,2.8525526686342055,1.1566964856905007,2.8955814825383803,1.6061263519842315,0.9599814774184894,3.8137852560460797,2.077158845774604,3.659231230768091,2.7293780173525284,3.1060363690667585,2.574312895545543,3.0625329524936427,2.181864510224616
+2021-12-19,5.087723372632357,3.102255064088446,2.8460177180381114,2.7676719986392397,1.0319553965174648,3.1949913994142833,1.6755907236005259,1.019665714470591,4.137968256452431,2.2367700837630906,3.771113896412723,2.820570907607786,2.966444014412034,2.4097760568021833,2.9473924715577415,2.155622855518615
+2021-12-26,5.13252211656563,2.9994508370980704,2.9460063705354567,2.5839534914457767,1.0730736912691363,3.4135665950803458,1.824889668591536,0.9418869653486106,4.047292305725709,2.191472634076765,3.805738041746841,3.017098700454516,3.069144488482585,2.5913389741167654,3.0119218202288636,2.400651328390882
+2022-01-02,4.907584134329287,3.207454737121286,2.8806083250777736,2.447469546095259,1.0647063242929575,3.191762694008215,1.780999849868485,0.9273392744486465,4.200894950145895,2.227768203109208,3.6319364550676534,2.6755021627782085,3.300963638467853,2.78027193987226,3.2165279347952986,2.7072735202828184
+2022-01-09,5.049441073934401,3.163178082403991,2.9014513532671837,2.3556629501003927,0.8986396172942823,3.234548607058927,1.9402339069793655,1.1382668513190624,4.227248536115806,2.1563052425462295,3.811407669859793,3.022302874624005,3.0615952680426464,2.5896742762384206,3.1176522451058597,2.404676277703958
+2022-01-16,4.85228780797065,3.2010653376132505,2.861072557409566,2.2909665706488442,0.8700271637232729,3.1670664189476043,1.895131921642871,1.2631130366722445,4.166867194911578,2.067109886174926,3.9127490697553857,2.725686886927015,3.2735393226070144,2.731069266147394,3.1841727803780446,2.630596094410726
+2022-01-23,4.813355379040932,3.096015349179948,3.044282560899618,1.9838115055291932,0.5968928720653692,3.0610819537524625,1.8799924083732138,1.0733706139885624,4.192848705900828,2.3018921775904797,3.6986923221705865,2.8425384304715005,3.1714271460852492,2.608139278191551,3.1174885926720632,2.5615437506353906
+2022-01-30,4.925096353976436,3.163629954744539,3.0230416839509884,2.2032418003761314,0.5303354884670568,3.082588002739264,1.6824312686641003,0.9930183954842097,4.249753557024397,2.16345011820914,3.7340415555399757,2.828065195107071,3.2618228189614276,2.7106079615536287,3.2118568687050812,2.4902148331912577
+2022-02-06,4.828090016534277,3.2026772393618073,2.9739189740993353,2.0511138855543796,0.38182308931966547,3.0513119325101434,1.7478746997019057,1.1055100401068956,4.3803389682982115,2.2269934341741973,3.745576294129842,2.899339097478966,3.17173033058975,2.564633895526496,3.2533108072409402,2.3341256437123987
+2022-02-13,4.636938415899119,2.9994613433863284,2.8118074686458723,2.175422184258735,0.4970069079266945,2.9614304199011046,1.8490016613248805,1.1026268056603974,4.1398177791789985,2.3181738872210196,3.66140957698892,2.847333304313713,3.1110371865643676,2.6305575066123006,3.0323496401424967,2.553320943681576
+2022-02-20,4.838849875714757,3.0928839052280273,2.5889381880757876,1.8254798545719861,0.40582043521540045,2.989601516256788,1.8112751927852437,1.2145740979694888,4.203027072920074,2.1546838914222914,3.633687909994924,2.9532180555018845,3.2448457359443714,2.6390939268198625,2.950440883128876,2.450629388020081
+2022-02-27,4.6076275274011875,3.034726473963983,2.5675070709589307,2.060153425061891,0.2389698329233698,2.949802767299502,1.8392709964220366,1.260317736757162,4.319083144976562,2.2051300673456407,3.706279429358169,2.6983013558011706,3.1418826076079602,2.7415055196091074,3.0666441613232216,2.389633961825164
+2022-03-06,4.4543965952979905,3.001846479558253,2.544955973681199,2.200720919320466,0.014236953833989222,2.745693825127103,1.8849837921403632,1.358918987174909,4.39521528727892,2.471200605764918,3.554029655865795,2.958875631576831,2.8519479342986482,2.5236256360316918,3.215026427139842,2.3384934425369774
+2022-03-13,4.310761876797154,3.2190491268245585,2.5056685055682717,2.21888129690574,0.04942758329477533,2.70229534114237,1.6934298427411039,1.2043630699325123,4.270122952474608,2.4210442902860247,3.640148814820034,2.9988576688396433,3.072626496048173,2.5614119858811533,2.8425742698100818,2.429833657266126
+2022-03-20,4.286406531871356,2.8673405513669397,2.4087754996514974,2.270995679416251,0.0,2.818750431160667,1.7221716593516683,1.3025542530634382,4.185515334140746,2.5505962184455617,3.6182032717632127,2.943628931142286,2.975926915079155,2.544586003412878,2.9698854986986576,2.3879658014474248
+2022-03-27,4.315651817735595,2.9036193651548374,2.4927571816814846,2.451665361523621,0.0,2.5780966135928463,1.505276758939082,1.0630419159265139,4.33985585761974,2.5487598941532625,3.717487733430901,3.0804703463773,2.9260102617644583,2.544933716585591,2.819615932335621,2.2483471873660528
+2022-04-03,4.22132423472962,2.9439104930428317,2.1494126292088,2.301581701148445,0.0,2.5825537964060965,1.7463848017375811,1.2575167194927999,3.982232333310861,2.649777965179606,3.5175784565959645,3.0797136114275454,2.9139884114493655,2.4518475743706847,2.964381645335628,2.3270719607746555
+2022-04-10,4.151160053787925,2.777429699486107,2.1023370339226295,2.4902388560796513,0.0,2.3646966275993937,1.4314487802206857,1.1174786241792727,4.061194137615145,2.4842384143024705,3.648003337931143,3.0790323575867755,2.8136924314329907,2.337871607269516,2.733228494709938,2.4050423491732253
+2022-04-17,3.927642559255755,2.882644090645502,2.0309648460893834,2.409883843253043,0.0,2.464172968396425,1.4665158878448599,1.0461795920760455,4.132761451573526,2.7519738292208706,3.624142511077238,3.085035831197938,2.770197273990563,2.6876259186918117,2.6405719414339996,2.3350940386203947
+2022-04-24,3.9115252298410508,3.109494590425717,2.1700725882757848,2.344082440130892,0.0,2.4716693729965638,1.4305931293666727,1.1635095983577628,3.9778096187048773,2.7948079447716534,3.7806429647284863,3.3222560581556744,2.8328156465396233,2.5101566541775377,2.8411696939155138,2.0487724681383446
+2022-05-01,3.944996448517577,2.8348916423209323,2.2196597560117524,2.3258895077511603,0.0,2.3019244619009336,1.571519620369139,0.9000864277737016,4.092430514090007,2.740637849104047,3.3542995480458924,3.3224135507842165,2.8097020762662392,2.450370835499656,2.737292803930822,2.082442328469444
+2022-05-08,4.144089679467038,2.8958700785269627,2.021762878227799,2.415899352787916,0.0,2.1419083130657497,1.50832678435721,0.8488060812414119,4.009145454145196,2.8740488024619197,3.7098736064883053,3.1788914536506807,2.677421666718733,2.51106662311201,2.6230843725965203,2.1222679121927213
+2022-05-15,3.957035843440823,3.0002375621265536,2.1234190507983195,2.257688677723205,0.0,2.013998504508265,1.5290583841485523,0.8463248354831733,4.03195118408047,2.687145451573338,3.5532615694906244,3.202970075507852,2.7608056804871284,2.6695128751205237,2.496447353200285,2.127365539504208
+2022-05-22,3.7439935287601203,3.1062709901051524,1.9496472000697684,2.370769647628787,0.0,1.817623190334626,1.459999131743757,0.7880604527583758,3.949920105809176,2.5155935080392173,3.3120680314920223,3.1277342471306198,2.9054292019208545,2.3825720682609934,2.830776149583718,2.0640865408718083
+2022-05-29,3.8923795388118707,3.0474486705734107,2.0241775449972224,2.334656470252463,0.0,2.056548338995043,1.4255552804194407,0.7573853486512722,3.8808640844208178,2.587030543867312,3.5014807893053246,3.070248751822783,2.748459592836123,2.365900836878889,2.6063146356840745,2.26760333040189
+2022-06-05,3.9248444900438546,3.307592586005219,1.875155318609872,2.2694762984597996,0.0,1.9415629036661766,1.3421168906444303,0.7988002021030534,3.8850249700146646,2.5732114721043207,3.3464245977960663,3.1375737681588833,2.681075809643795,2.3206699591054294,2.5908577466953164,2.0403684491972407
+2022-06-12,3.8554925472860666,3.393808386733175,1.858066837805753,2.4690210402638813,0.0,2.065330588237551,1.173441943684788,0.24521771871279457,4.1929947330606945,2.4892179721337993,3.4114687867967017,3.2977780522112123,2.680678239679844,2.5366238769453884,2.53653078523105,2.1241109028274496
+2022-06-19,3.8037098643100657,3.462847366745946,1.6736052108963821,2.677045429262935,0.0,1.9374131893460826,1.3341076923715751,0.40276862091838667,4.18077321038301,2.271459997230532,3.329814944287496,3.154636735876369,2.6340056452309084,2.249033179954348,2.3877143043706868,2.2299014970441062
+2022-06-26,4.030552637379176,3.4953531818043126,1.7370898279438944,2.5715993418672083,0.0,1.9964119650697463,1.279385520156231,0.4532161187925419,4.0874705475106,2.1364970870267745,3.0667284351683324,3.006593403084099,2.560787285253923,2.37246794720466,2.617201474509442,1.9650472399827819
+2022-07-03,3.6900451118142725,3.609883891592656,1.6799735887120577,2.732937407180711,0.0,1.9838928391530628,1.0396783776528984,0.23891309052913395,4.0468254187249055,2.1158058581602077,3.1708138053391135,3.002339127052802,2.3830785362181266,2.2940750089733997,2.5786675193679818,2.152516487339716
+2022-07-10,3.74636290589649,3.557341502173607,1.6211975569301351,2.8665009420641367,0.10084446065248626,1.8992254077585535,1.1235839109301493,0.3720011045422829,3.952422607469865,1.9759023819110055,3.445357054839691,3.035165316300252,2.6221877512066443,2.566115404267865,2.5088616911654795,1.878379449919335
+2022-07-17,3.953917171020313,3.6842585394679217,1.5430576887466723,3.01788652373301,0.21782850585060942,2.053128302802167,1.2209134141472013,0.2907933361548409,4.161743187567274,1.8345937595998036,3.2420628986427644,3.043095258503729,2.4829130038481426,2.618396772709086,2.635301102489906,1.8080555591971674
+2022-07-24,3.762373627807411,3.685052627441652,1.638948835296808,3.3043307287645343,0.34535867461028485,2.0761801430602884,1.1005702018814192,0.21035648939470336,4.105893826751062,1.8022909784302399,3.44167756382381,2.9235942142798432,2.6871827234423544,2.5691465177102777,2.893592204703662,2.0422208396468693
+2022-07-31,3.866352427375238,3.682649498212638,1.4343053159840762,3.516322682530372,0.26315241606517725,2.1725414424821756,1.103573424779661,0.2006407646172228,4.034013499497928,1.6415022957457608,3.4188703698615455,2.7680193557797703,2.544453291089856,2.517909126391002,2.7568872032480307,1.9765402164200492
+2022-08-07,3.908698018989633,3.839331676319173,1.4306360244178955,3.772124599051093,0.5454481652302463,2.134619742020615,1.14306124097495,0.19970727618499673,3.9916468294655036,1.586547806885296,3.4670703290880165,2.8087214174284703,2.725827800466555,2.5169996049957764,2.4883096462101415,2.0095298177848915
+2022-08-14,4.084792195402642,3.75856684041391,1.3812322673072057,3.7690317955647883,0.7552676694068574,2.1334935330764555,1.2890762228086685,0.25372951237667646,3.8193335764133165,1.3355656626509682,3.629951245590054,2.6021264362223953,2.727842237615863,2.630047812497471,2.6906344862913625,2.0658470869201424
+2022-08-21,4.088758421692534,3.856749498722571,1.3244556525116191,3.8953901406448614,0.5916211128588266,2.2436035470336977,1.4017150197129986,0.22756489663731388,4.006823532332687,1.356516122033045,3.606899932870202,2.534397561458435,2.812630434962648,2.6863578076866435,2.6280588648767234,2.127921310862817
+2022-08-28,4.119194654711486,3.78268552678469,1.4754568420729397,3.9849486672942223,0.9701658146087722,2.4709508503141255,1.127705863679013,0.32864647787622747,3.972947127646331,1.258724294510147,3.9257775911479262,2.3950483746403766,2.845352546834124,2.95082759952212,2.7150194214701773,2.1241567062699724
+2022-09-04,4.065296586512102,3.6085945253517258,1.3104884463323325,4.157162979328548,0.9799527839536623,2.471713649241983,1.122696765912356,0.2557645148489994,4.011468280120609,1.073915249171118,3.8853522316343123,2.164380146801069,2.7751099424991397,2.7823815041844853,2.7282974123301056,2.008907907347468
+2022-09-11,4.337438270808938,3.566066771846636,1.5935378724061566,4.289231493386372,1.3130159442856253,2.5691685905252997,1.2946585121499377,0.4078477068826331,4.07977414610646,1.267679690815695,3.88483619578364,2.2983151777729605,2.9036398219104083,2.982052233359915,2.90693427445549,2.2001428632098374
+2022-09-18,4.533644825839141,3.346176244513488,1.6261068679712776,4.364047145158445,1.2268977536399297,2.7826238777398564,1.4078430224193506,0.17768122229010308,3.883949526432729,1.3960681576929004,3.9809866538766894,2.5953684141327122,2.7694115542940096,3.0379313112262256,2.847935825366455,1.9180059645012557
+2022-09-25,4.2780881448409716,3.320575084538259,1.6899254205363927,4.556253734975178,1.2892305647433762,2.70089354694243,1.2747714409917117,0.2897255872236403,4.070282859169996,1.2353473340700656,3.9495657934402293,2.452233131903294,3.046716570464213,3.1213890335952206,2.8912648203107847,2.308271446600788
+2022-10-02,4.4953624643857655,3.0697274084111323,1.7929054426295963,4.536563550637976,1.2638369943670986,2.8561317458105155,1.434878255911268,0.3556138373290644,3.945322974580824,1.4489322012055978,3.785548496056743,2.452205834075995,2.8792541573829094,3.2052614444773826,2.920558148407191,2.2868725553605764
+2022-10-09,4.572310794256533,3.0963349725914795,2.0475046417849523,4.473551837357511,1.0908417198883802,2.814804524294902,1.4266729572784118,0.5199695327363393,3.822398142392689,1.3902327288567644,3.9796662539762453,2.432773673808847,2.935295921287993,3.229599218934947,2.818537408912811,2.0096900013538366
+2022-10-16,4.822208177803268,2.9292671259681886,2.122824003396091,4.389330608457152,1.30912137365707,2.8293768498484937,1.7745506377876628,0.5032566122479672,3.9854972344581965,1.5719098110993468,3.8402668200851986,2.420553563639819,2.8554672073897898,3.143573527165604,3.0939198007305526,2.304007816481742
+2022-10-23,4.943727859475096,3.1007535005629334,2.241842782877788,4.366295183708769,1.1962208998019828,2.9660740534864733,1.3599018673955043,0.7367670049938866,3.8535365720610137,1.7422955755281817,3.9533565667184756,2.550784565726637,3.1414369401687687,3.1915759317357417,3.1009907616603947,2.2010335512370354
+2022-10-30,4.620584367639808,2.9839619555067336,2.4816066058274227,3.9495713221159767,1.3049138967714395,3.0109479044212284,1.6279856594795459,0.47237833677922725,3.857602500168452,1.7427380847138105,3.8534278944647715,2.80549867337455,2.9716240578573556,2.9346294933449926,3.076748306108428,2.3479102188732424
+2022-11-06,4.959544381967531,3.2461515710895146,2.3556548645341717,3.883476247886616,1.297060278154269,2.923892686291479,1.609717874999256,0.6636927438712212,3.7304250627561344,2.0218484435271695,4.02581666519072,2.7122865889681553,3.0140619864389198,2.995618784899622,3.0678151213256393,2.4018826959705186
+2022-11-13,4.901765181076916,3.107369518794851,2.447891003546571,3.7505827552601065,1.3938030475991385,2.8770025023260875,1.5294117279812225,0.6805998987169061,3.9480909797072457,1.9917448874199442,3.824341311636166,2.728018055878067,2.9715061415358153,2.870936425779379,3.0176683553816117,2.2911375634174656
+2022-11-20,4.980618393591365,2.9570004387441142,2.5086222172623223,3.429969392790481,1.4499588937855017,2.9404522622726477,1.4602396065302963,0.840068043829807,3.764518093861844,2.049171837875911,3.773523482972056,2.977513086395653,3.162920502682521,2.9065045569089194,3.276587221781703,2.3418530607393566
+2022-11-27,5.201330561070437,3.137301208136109,2.941551199205694,3.2741518352465113,1.252996877730479,3.0072986215827213,1.7106550132474114,0.7419255909193327,3.831695875089022,2.16223183616961,3.78557746574765,2.8426370369035814,3.158210131513232,2.7763165027787178,3.0564820856649133,2.4002820105548666
+2022-12-04,5.178637633548724,3.0534681591892694,2.6895331124136006,2.9585170907341003,1.2229145251438862,3.0089124339162283,1.7910395313660128,1.002146548867949,3.7998943797734928,1.9838329735913443,3.804853318680401,2.8169771382256648,3.1711595989030865,2.783766571878465,3.1307113119661927,2.3030005797902624
+2022-12-11,4.933157358656832,3.186357000963592,2.7716883810443336,2.871527316202952,1.309363721231799,2.966309357018683,1.7493803339492746,0.9733166393051835,4.020692287668256,2.006707674171343,4.085579821267947,2.658308914823719,3.088367072700494,2.5335879952639457,3.3169966159017585,2.542457526315327
+2022-12-18,5.032799045337924,3.1754985304718897,2.7953693789627394,2.758678387096214,1.2881142130523409,3.0552413782649293,1.8591627661051056,0.8657087686897392,4.131333501721802,2.1109716971024297,3.8348387922179485,2.9278204616514665,3.383033651571067,2.6831533644057988,3.114262339129778,2.3367218460797914
+2022-12-25,4.9542022444672975,3.0460351060428006,2.9829980557214792,2.729907844349175,0.9073436386625415,3.115942061326816,1.985489217824284,0.9628005702902446,4.098325688720557,2.169483296357289,3.79035064231774,2.7916215665371484,3.406856042708236,2.7317091419221597,3.423469190733864,2.561735018368158
diff --git a/causalpy/data/gt_social_media_data.csv b/causalpy/data/gt_social_media_data.csv
new file mode 100644
index 00000000..5eec1389
--- /dev/null
+++ b/causalpy/data/gt_social_media_data.csv
@@ -0,0 +1,182 @@
+date,twitter,linkedin,tiktok,instagram
+2022-05-15,55,9,23,59
+2022-05-16,54,18,20,59
+2022-05-17,54,20,23,57
+2022-05-18,54,20,21,55
+2022-05-19,49,23,21,52
+2022-05-20,46,18,22,56
+2022-05-21,51,9,23,58
+2022-05-22,47,9,27,59
+2022-05-23,45,19,21,58
+2022-05-24,49,21,23,53
+2022-05-25,55,21,21,61
+2022-05-26,53,19,22,68
+2022-05-27,52,16,23,52
+2022-05-28,46,8,24,59
+2022-05-29,45,7,22,56
+2022-05-30,45,9,24,61
+2022-05-31,46,19,20,58
+2022-06-01,51,21,22,56
+2022-06-02,47,19,22,54
+2022-06-03,46,17,21,56
+2022-06-04,45,9,23,58
+2022-06-05,47,9,23,60
+2022-06-06,48,20,21,58
+2022-06-07,46,23,21,57
+2022-06-08,48,22,24,56
+2022-06-09,48,20,23,55
+2022-06-10,48,17,22,56
+2022-06-11,47,9,25,54
+2022-06-12,46,9,24,56
+2022-06-13,46,20,22,54
+2022-06-14,46,21,23,58
+2022-06-15,47,21,23,58
+2022-06-16,46,21,24,56
+2022-06-17,51,17,23,57
+2022-06-18,44,9,24,54
+2022-06-19,43,8,26,59
+2022-06-20,45,16,25,53
+2022-06-21,53,23,24,56
+2022-06-22,48,21,25,58
+2022-06-23,48,22,26,55
+2022-06-24,54,18,24,56
+2022-06-25,54,9,25,57
+2022-06-26,48,8,23,62
+2022-06-27,51,19,24,58
+2022-06-28,54,21,25,56
+2022-06-29,49,20,25,61
+2022-06-30,53,19,27,58
+2022-07-01,56,17,26,55
+2022-07-02,47,8,25,56
+2022-07-03,49,8,28,58
+2022-07-04,47,9,25,58
+2022-07-05,52,20,22,61
+2022-07-06,49,20,27,60
+2022-07-07,49,21,26,56
+2022-07-08,58,17,27,53
+2022-07-09,61,10,30,55
+2022-07-10,56,15,31,55
+2022-07-11,59,27,27,55
+2022-07-12,52,25,28,57
+2022-07-13,54,25,26,55
+2022-07-14,61,25,25,60
+2022-07-15,51,22,25,58
+2022-07-16,50,12,24,58
+2022-07-17,53,13,28,57
+2022-07-18,48,24,25,57
+2022-07-19,50,26,25,57
+2022-07-20,47,26,25,53
+2022-07-21,49,24,26,55
+2022-07-22,50,21,26,57
+2022-07-23,47,9,26,55
+2022-07-24,45,8,27,57
+2022-07-25,47,19,26,59
+2022-07-26,47,20,28,58
+2022-07-27,47,20,27,56
+2022-07-28,48,19,26,57
+2022-07-29,47,18,27,58
+2022-07-30,46,9,28,53
+2022-07-31,48,9,27,58
+2022-08-01,48,19,25,56
+2022-08-02,51,21,25,56
+2022-08-03,49,21,27,55
+2022-08-04,47,20,24,54
+2022-08-05,47,17,25,54
+2022-08-06,47,10,26,57
+2022-08-07,46,9,26,58
+2022-08-08,46,19,24,59
+2022-08-09,62,21,25,59
+2022-08-10,52,20,25,56
+2022-08-11,54,21,24,61
+2022-08-12,60,18,24,59
+2022-08-13,55,9,26,56
+2022-08-14,52,9,25,55
+2022-08-15,48,19,24,54
+2022-08-16,49,21,27,55
+2022-08-17,47,20,24,53
+2022-08-18,45,19,24,53
+2022-08-19,47,18,25,53
+2022-08-20,47,9,25,54
+2022-08-21,49,10,27,56
+2022-08-22,44,20,23,55
+2022-08-23,46,22,23,52
+2022-08-24,49,22,23,52
+2022-08-25,47,21,23,56
+2022-08-26,56,17,23,54
+2022-08-27,52,9,25,55
+2022-08-28,51,9,26,57
+2022-08-29,47,19,22,56
+2022-08-30,47,21,22,52
+2022-08-31,46,20,21,52
+2022-09-01,47,18,22,55
+2022-09-02,48,16,21,49
+2022-09-03,50,8,24,52
+2022-09-04,47,8,25,56
+2022-09-05,48,10,27,56
+2022-09-06,45,19,24,54
+2022-09-07,49,20,21,54
+2022-09-08,51,19,23,50
+2022-09-09,49,16,21,52
+2022-09-10,49,9,21,52
+2022-09-11,52,9,22,55
+2022-09-12,49,19,21,50
+2022-09-13,54,21,20,52
+2022-09-14,47,21,20,49
+2022-09-15,45,20,30,51
+2022-09-16,42,16,22,48
+2022-09-17,47,9,23,52
+2022-09-18,50,9,23,51
+2022-09-19,48,20,21,48
+2022-09-20,47,21,22,50
+2022-09-21,47,22,23,51
+2022-09-22,46,21,23,55
+2022-09-23,46,18,21,49
+2022-09-24,47,9,22,50
+2022-09-25,48,9,23,53
+2022-09-26,45,17,23,51
+2022-09-27,46,20,23,47
+2022-09-28,49,19,23,50
+2022-09-29,45,18,30,56
+2022-09-30,49,17,32,56
+2022-10-01,47,9,36,64
+2022-10-02,52,9,39,66
+2022-10-03,53,19,31,60
+2022-10-04,64,21,33,66
+2022-10-05,58,20,34,68
+2022-10-06,49,19,33,62
+2022-10-07,51,17,22,49
+2022-10-08,50,9,24,48
+2022-10-09,52,9,22,52
+2022-10-10,52,16,21,50
+2022-10-11,51,20,22,50
+2022-10-12,47,19,22,49
+2022-10-13,46,20,23,48
+2022-10-14,46,18,20,49
+2022-10-15,49,9,22,48
+2022-10-16,52,9,23,52
+2022-10-17,47,19,22,52
+2022-10-18,48,20,24,49
+2022-10-19,46,19,24,50
+2022-10-20,46,20,22,49
+2022-10-21,49,18,22,47
+2022-10-22,50,9,23,49
+2022-10-23,58,8,22,53
+2022-10-24,53,18,22,50
+2022-10-25,53,21,22,50
+2022-10-26,52,19,22,49
+2022-10-27,56,19,28,49
+2022-10-28,100,17,26,48
+2022-10-29,75,8,25,49
+2022-10-30,66,9,23,56
+2022-10-31,69,17,21,83
+2022-11-01,75,19,21,58
+2022-11-02,64,21,23,51
+2022-11-03,61,19,24,49
+2022-11-04,76,17,28,52
+2022-11-05,69,9,23,54
+2022-11-06,62,8,25,51
+2022-11-07,66,18,23,50
+2022-11-08,60,18,24,47
+2022-11-09,64,18,21,45
+2022-11-10,61,19,22,49
+2022-11-11,69,16,23,47
diff --git a/causalpy/data/lalonde.csv b/causalpy/data/lalonde.csv
new file mode 100644
index 00000000..fb1e6e78
--- /dev/null
+++ b/causalpy/data/lalonde.csv
@@ -0,0 +1,615 @@
+rownames,treat,age,educ,race,married,nodegree,re74,re75,re78,hispan,white
+NSW1,1,37,11,black,1,1,0.0,0.0,9930.046,False,False
+NSW2,1,22,9,hispan,0,1,0.0,0.0,3595.894,True,False
+NSW3,1,30,12,black,0,0,0.0,0.0,24909.45,False,False
+NSW4,1,27,11,black,0,1,0.0,0.0,7506.146,False,False
+NSW5,1,33,8,black,0,1,0.0,0.0,289.7899,False,False
+NSW6,1,22,9,black,0,1,0.0,0.0,4056.494,False,False
+NSW7,1,23,12,black,0,0,0.0,0.0,0.0,False,False
+NSW8,1,32,11,black,0,1,0.0,0.0,8472.158,False,False
+NSW9,1,22,16,black,0,0,0.0,0.0,2164.022,False,False
+NSW10,1,33,12,white,1,0,0.0,0.0,12418.07,False,True
+NSW11,1,19,9,black,0,1,0.0,0.0,8173.908,False,False
+NSW12,1,21,13,black,0,0,0.0,0.0,17094.64,False,False
+NSW13,1,18,8,black,0,1,0.0,0.0,0.0,False,False
+NSW14,1,27,10,black,1,1,0.0,0.0,18739.93,False,False
+NSW15,1,17,7,black,0,1,0.0,0.0,3023.879,False,False
+NSW16,1,19,10,black,0,1,0.0,0.0,3228.503,False,False
+NSW17,1,27,13,black,0,0,0.0,0.0,14581.86,False,False
+NSW18,1,23,10,black,0,1,0.0,0.0,7693.4,False,False
+NSW19,1,40,12,black,0,0,0.0,0.0,10804.32,False,False
+NSW20,1,26,12,black,0,0,0.0,0.0,10747.35,False,False
+NSW21,1,23,11,black,0,1,0.0,0.0,0.0,False,False
+NSW22,1,41,14,white,0,0,0.0,0.0,5149.501,False,True
+NSW23,1,38,9,white,0,1,0.0,0.0,6408.95,False,True
+NSW24,1,24,11,black,0,1,0.0,0.0,1991.4,False,False
+NSW25,1,18,10,black,0,1,0.0,0.0,11163.17,False,False
+NSW26,1,29,11,black,1,1,0.0,0.0,9642.999,False,False
+NSW27,1,25,11,black,0,1,0.0,0.0,9897.049,False,False
+NSW28,1,27,10,hispan,0,1,0.0,0.0,11142.87,True,False
+NSW29,1,17,10,black,0,1,0.0,0.0,16218.04,False,False
+NSW30,1,24,11,black,0,1,0.0,0.0,995.7002,False,False
+NSW31,1,17,10,black,0,1,0.0,0.0,0.0,False,False
+NSW32,1,48,4,black,0,1,0.0,0.0,6551.592,False,False
+NSW33,1,25,11,black,1,1,0.0,0.0,1574.424,False,False
+NSW34,1,20,12,black,0,0,0.0,0.0,0.0,False,False
+NSW35,1,25,12,black,0,0,0.0,0.0,3191.753,False,False
+NSW36,1,42,14,black,0,0,0.0,0.0,20505.93,False,False
+NSW37,1,25,5,black,0,1,0.0,0.0,6181.88,False,False
+NSW38,1,23,12,black,1,0,0.0,0.0,5911.551,False,False
+NSW39,1,46,8,black,1,1,0.0,0.0,3094.156,False,False
+NSW40,1,24,10,black,0,1,0.0,0.0,0.0,False,False
+NSW41,1,21,12,black,0,0,0.0,0.0,1254.582,False,False
+NSW42,1,19,9,white,0,1,0.0,0.0,13188.83,False,True
+NSW43,1,17,8,black,0,1,0.0,0.0,8061.485,False,False
+NSW44,1,18,8,hispan,1,1,0.0,0.0,2787.96,True,False
+NSW45,1,20,11,black,0,1,0.0,0.0,3972.54,False,False
+NSW46,1,25,11,black,1,1,0.0,0.0,0.0,False,False
+NSW47,1,17,8,black,0,1,0.0,0.0,0.0,False,False
+NSW48,1,17,9,black,0,1,0.0,0.0,0.0,False,False
+NSW49,1,25,5,black,0,1,0.0,0.0,12187.41,False,False
+NSW50,1,23,12,black,0,0,0.0,0.0,4843.176,False,False
+NSW51,1,28,8,black,0,1,0.0,0.0,0.0,False,False
+NSW52,1,31,11,black,1,1,0.0,0.0,8087.487,False,False
+NSW53,1,18,11,black,0,1,0.0,0.0,0.0,False,False
+NSW54,1,25,12,black,0,0,0.0,0.0,2348.973,False,False
+NSW55,1,30,11,black,1,1,0.0,0.0,590.7818,False,False
+NSW56,1,17,10,black,0,1,0.0,0.0,0.0,False,False
+NSW57,1,37,9,black,0,1,0.0,0.0,1067.506,False,False
+NSW58,1,41,4,black,1,1,0.0,0.0,7284.986,False,False
+NSW59,1,42,14,black,1,0,0.0,0.0,13167.52,False,False
+NSW60,1,22,11,white,0,1,0.0,0.0,1048.432,False,True
+NSW61,1,17,8,black,0,1,0.0,0.0,0.0,False,False
+NSW62,1,29,8,black,0,1,0.0,0.0,1923.938,False,False
+NSW63,1,35,10,black,0,1,0.0,0.0,4666.236,False,False
+NSW64,1,27,11,black,0,1,0.0,0.0,549.2984,False,False
+NSW65,1,29,4,black,0,1,0.0,0.0,762.9146,False,False
+NSW66,1,28,9,black,0,1,0.0,0.0,10694.29,False,False
+NSW67,1,27,11,black,0,1,0.0,0.0,0.0,False,False
+NSW68,1,23,7,white,0,1,0.0,0.0,0.0,False,True
+NSW69,1,45,5,black,1,1,0.0,0.0,8546.715,False,False
+NSW70,1,29,13,black,0,0,0.0,0.0,7479.656,False,False
+NSW71,1,27,9,black,0,1,0.0,0.0,0.0,False,False
+NSW72,1,46,13,black,0,0,0.0,0.0,647.2046,False,False
+NSW73,1,18,6,black,0,1,0.0,0.0,0.0,False,False
+NSW74,1,25,12,black,0,0,0.0,0.0,11965.81,False,False
+NSW75,1,28,15,black,0,0,0.0,0.0,9598.541,False,False
+NSW76,1,25,11,white,0,1,0.0,0.0,18783.35,False,True
+NSW77,1,22,12,black,0,0,0.0,0.0,18678.08,False,False
+NSW78,1,21,9,black,0,1,0.0,0.0,0.0,False,False
+NSW79,1,40,11,black,0,1,0.0,0.0,23005.6,False,False
+NSW80,1,22,11,black,0,1,0.0,0.0,6456.697,False,False
+NSW81,1,25,12,black,0,0,0.0,0.0,0.0,False,False
+NSW82,1,18,12,black,0,0,0.0,0.0,2321.107,False,False
+NSW83,1,38,12,white,0,0,0.0,0.0,4941.849,False,True
+NSW84,1,27,13,black,0,0,0.0,0.0,0.0,False,False
+NSW85,1,27,8,black,0,1,0.0,0.0,0.0,False,False
+NSW86,1,38,11,black,0,1,0.0,0.0,0.0,False,False
+NSW87,1,23,8,hispan,0,1,0.0,0.0,3881.284,True,False
+NSW88,1,26,11,black,0,1,0.0,0.0,17230.96,False,False
+NSW89,1,21,12,white,0,0,0.0,0.0,8048.603,False,True
+NSW90,1,25,8,black,0,1,0.0,0.0,0.0,False,False
+NSW91,1,31,11,black,1,1,0.0,0.0,14509.93,False,False
+NSW92,1,17,10,black,0,1,0.0,0.0,0.0,False,False
+NSW93,1,25,11,black,0,1,0.0,0.0,0.0,False,False
+NSW94,1,21,12,black,0,0,0.0,0.0,9983.784,False,False
+NSW95,1,44,11,black,0,1,0.0,0.0,0.0,False,False
+NSW96,1,25,12,white,0,0,0.0,0.0,5587.503,False,True
+NSW97,1,18,9,black,0,1,0.0,0.0,4482.845,False,False
+NSW98,1,42,12,black,0,0,0.0,0.0,2456.153,False,False
+NSW99,1,25,10,black,0,1,0.0,0.0,0.0,False,False
+NSW100,1,31,9,hispan,0,1,0.0,0.0,26817.6,True,False
+NSW101,1,24,10,black,0,1,0.0,0.0,0.0,False,False
+NSW102,1,26,10,black,0,1,0.0,0.0,9265.788,False,False
+NSW103,1,25,11,black,0,1,0.0,0.0,485.2298,False,False
+NSW104,1,18,11,black,0,1,0.0,0.0,4814.627,False,False
+NSW105,1,19,11,black,0,1,0.0,0.0,7458.105,False,False
+NSW106,1,43,9,black,0,1,0.0,0.0,0.0,False,False
+NSW107,1,27,13,black,0,0,0.0,0.0,34099.28,False,False
+NSW108,1,17,9,black,0,1,0.0,0.0,1953.268,False,False
+NSW109,1,30,11,black,0,1,0.0,0.0,0.0,False,False
+NSW110,1,26,10,black,1,1,2027.999,0.0,0.0,False,False
+NSW111,1,20,9,black,0,1,6083.994,0.0,8881.665,False,False
+NSW112,1,17,9,hispan,0,1,445.1704,74.34345,6210.67,True,False
+NSW113,1,20,12,black,0,0,989.2678,165.2077,0.0,False,False
+NSW114,1,18,11,black,0,1,858.2543,214.5636,929.8839,False,False
+NSW115,1,27,12,black,1,0,3670.872,334.0493,0.0,False,False
+NSW116,1,21,12,white,0,0,3670.872,334.0494,12558.02,False,True
+NSW117,1,27,12,black,0,0,2143.413,357.9499,22163.25,False,False
+NSW118,1,20,12,black,0,0,0.0,377.5686,1652.637,False,False
+NSW119,1,19,10,black,0,1,0.0,385.2741,8124.715,False,False
+NSW120,1,23,12,black,0,0,5506.308,501.0741,671.3318,False,False
+NSW121,1,29,14,black,0,0,0.0,679.6734,17814.98,False,False
+NSW122,1,18,10,black,0,1,0.0,798.9079,9737.154,False,False
+NSW123,1,19,9,black,0,1,0.0,798.9079,17685.18,False,False
+NSW124,1,27,13,white,1,0,9381.566,853.7225,0.0,False,True
+NSW125,1,18,11,white,0,1,3678.231,919.5579,4321.705,False,True
+NSW126,1,27,9,black,1,1,0.0,934.4454,1773.423,False,False
+NSW127,1,22,12,black,0,0,5605.852,936.1773,0.0,False,False
+NSW128,1,23,10,black,1,1,0.0,936.4386,11233.26,False,False
+NSW129,1,23,12,hispan,0,0,9385.74,1117.439,559.4432,True,False
+NSW130,1,20,11,black,0,1,3637.498,1220.836,1085.44,False,False
+NSW131,1,17,9,black,0,1,1716.509,1253.439,5445.2,False,False
+NSW132,1,28,11,black,0,1,0.0,1284.079,60307.93,False,False
+NSW133,1,26,11,black,1,1,0.0,1392.853,1460.36,False,False
+NSW134,1,20,11,black,0,1,16318.62,1484.994,6943.342,False,False
+NSW135,1,24,11,black,1,1,824.3886,1666.113,4032.708,False,False
+NSW136,1,31,9,black,0,1,0.0,1698.607,10363.27,False,False
+NSW137,1,23,8,white,1,1,0.0,1713.15,4232.309,False,True
+NSW138,1,18,10,black,0,1,2143.411,1784.274,11141.39,False,False
+NSW139,1,29,12,black,0,0,10881.94,1817.284,0.0,False,False
+NSW140,1,26,11,white,0,1,0.0,2226.266,13385.86,False,True
+NSW141,1,24,9,black,0,1,9154.7,2288.675,4849.559,False,False
+NSW142,1,25,12,black,0,0,14426.79,2409.274,0.0,False,False
+NSW143,1,24,10,black,0,1,4250.402,2421.947,1660.508,False,False
+NSW144,1,46,8,black,0,1,3165.658,2594.723,0.0,False,False
+NSW145,1,31,12,white,0,0,0.0,2611.218,2484.549,False,True
+NSW146,1,19,11,black,0,1,2305.026,2615.276,4146.603,False,False
+NSW147,1,19,8,black,0,1,0.0,2657.057,9970.681,False,False
+NSW148,1,27,11,black,0,1,2206.94,2666.274,0.0,False,False
+NSW149,1,26,11,black,1,1,0.0,2754.646,26372.28,False,False
+NSW150,1,20,10,black,0,1,5005.731,2777.355,5615.189,False,False
+NSW151,1,28,10,black,0,1,0.0,2836.506,3196.571,False,False
+NSW152,1,24,12,black,0,0,13765.75,2842.764,6167.681,False,False
+NSW153,1,19,8,black,0,1,2636.353,2937.264,7535.942,False,False
+NSW154,1,23,12,black,0,0,6269.341,3039.96,8484.239,False,False
+NSW155,1,42,9,black,1,1,0.0,3058.531,1294.409,False,False
+NSW156,1,25,13,black,0,0,12362.93,3090.732,0.0,False,False
+NSW157,1,18,9,black,0,1,0.0,3287.375,5010.342,False,False
+NSW158,1,21,12,black,0,0,6473.683,3332.409,9371.037,False,False
+NSW159,1,27,10,black,0,1,1001.146,3550.075,0.0,False,False
+NSW160,1,21,8,black,0,1,989.2678,3695.897,4279.613,False,False
+NSW161,1,22,9,black,0,1,2192.877,3836.986,3462.564,False,False
+NSW162,1,31,4,black,0,1,8517.589,4023.211,7382.549,False,False
+NSW163,1,24,10,black,1,1,11703.2,4078.152,0.0,False,False
+NSW164,1,29,10,black,0,1,0.0,4398.95,0.0,False,False
+NSW165,1,29,12,black,0,0,9748.387,4878.937,10976.51,False,False
+NSW166,1,19,10,white,0,1,0.0,5324.109,13829.62,False,True
+NSW167,1,19,11,hispan,1,1,5424.485,5463.803,6788.463,True,False
+NSW168,1,31,9,black,0,1,10717.03,5517.841,9558.501,False,False
+NSW169,1,22,10,black,1,1,1468.348,5588.664,13228.28,False,False
+NSW170,1,21,9,black,0,1,6416.47,5749.331,743.6666,False,False
+NSW171,1,17,10,black,0,1,1291.468,5793.852,5522.788,False,False
+NSW172,1,26,12,black,1,0,8408.762,5794.831,1424.944,False,False
+NSW173,1,20,9,hispan,0,1,12260.78,5875.049,1358.643,True,False
+NSW174,1,19,10,black,0,1,4121.949,6056.754,0.0,False,False
+NSW175,1,26,10,black,0,1,25929.68,6788.958,672.8773,False,False
+NSW176,1,28,11,black,0,1,1929.029,6871.856,0.0,False,False
+NSW177,1,22,12,hispan,1,0,492.2305,7055.702,10092.83,True,False
+NSW178,1,33,11,black,0,1,0.0,7867.916,6281.433,False,False
+NSW179,1,22,12,white,0,0,6759.994,8455.504,12590.71,False,True
+NSW180,1,29,10,hispan,0,1,0.0,8853.674,5112.014,True,False
+NSW181,1,33,12,black,1,0,20279.95,10941.35,15952.6,False,False
+NSW182,1,25,14,black,1,0,35040.07,11536.57,36646.95,False,False
+NSW183,1,35,9,black,1,1,13602.43,13830.64,12803.97,False,False
+NSW184,1,35,8,black,1,1,13732.07,17976.15,3786.628,False,False
+NSW185,1,33,11,black,1,1,14660.71,25142.24,4181.942,False,False
+PSID1,0,30,12,white,1,0,20166.73,18347.23,25564.67,False,True
+PSID2,0,26,12,white,1,0,25862.32,17806.55,25564.67,False,True
+PSID3,0,25,16,white,1,0,25862.32,15316.21,25564.67,False,True
+PSID4,0,42,11,white,1,1,21787.05,14265.29,15491.01,False,True
+PSID5,0,25,9,black,1,1,14829.69,13776.53,0.0,False,False
+PSID6,0,37,9,black,1,1,13685.48,12756.05,17833.2,False,False
+PSID7,0,32,12,white,1,0,19067.58,12625.35,14146.28,False,True
+PSID8,0,20,12,black,0,0,7392.314,12396.19,17765.23,False,False
+PSID9,0,38,9,hispan,1,1,16826.18,12029.18,0.0,True,False
+PSID10,0,39,10,white,1,1,16767.41,12022.02,4433.18,False,True
+PSID11,0,41,5,white,1,1,10785.76,11991.58,19451.31,False,True
+PSID12,0,31,14,white,1,0,17831.29,11563.69,22094.97,False,True
+PSID13,0,34,8,white,1,1,8038.872,11404.35,5486.799,False,True
+PSID14,0,29,12,white,1,0,14768.95,11146.55,6420.722,False,True
+PSID15,0,22,14,black,1,0,748.4399,11105.37,18208.55,False,False
+PSID16,0,42,0,hispan,1,1,2797.833,10929.92,9922.934,True,False
+PSID17,0,25,9,hispan,0,1,5460.477,10589.76,7539.361,True,False
+PSID18,0,28,9,white,1,1,11091.41,10357.02,15406.78,False,True
+PSID19,0,40,13,white,1,0,3577.621,10301.52,11911.95,False,True
+PSID20,0,35,9,white,1,1,11475.43,9397.403,11087.38,False,True
+PSID21,0,27,10,hispan,1,1,15711.36,9098.419,17023.41,True,False
+PSID22,0,27,6,hispan,1,1,7831.189,9071.565,5661.171,True,False
+PSID23,0,36,12,white,1,0,25535.12,8695.597,21905.82,False,True
+PSID24,0,47,8,black,1,1,9275.169,8543.419,0.0,False,False
+PSID25,0,40,11,white,1,1,20666.35,8502.242,25564.67,False,True
+PSID26,0,27,7,white,1,1,3064.293,8461.065,11149.45,False,True
+PSID27,0,36,9,black,1,1,13256.4,8457.484,0.0,False,False
+PSID28,0,39,6,hispan,1,1,13279.91,8441.371,25048.94,True,False
+PSID29,0,21,9,white,1,1,11156.07,8441.371,1213.214,False,True
+PSID30,0,29,12,white,1,0,11199.17,8081.516,0.0,False,True
+PSID31,0,22,13,hispan,0,0,6404.843,7882.79,9453.017,True,False
+PSID32,0,25,10,white,1,1,13634.54,7793.274,11688.82,False,True
+PSID33,0,27,12,white,1,0,12270.89,7709.129,7806.829,False,True
+PSID34,0,45,8,white,1,1,22415.97,7635.726,15931.37,False,True
+PSID35,0,26,12,white,1,0,2345.242,7565.903,2838.713,False,True
+PSID36,0,27,12,white,1,0,9788.497,7496.081,14038.4,False,True
+PSID37,0,33,8,white,1,1,12312.03,7474.597,25514.43,False,True
+PSID38,0,25,12,white,1,0,11381.38,7467.435,4162.756,False,True
+PSID39,0,49,8,white,1,1,6459.703,7431.629,7503.896,False,True
+PSID40,0,40,3,hispan,1,1,7576.485,7426.258,12104.06,True,False
+PSID41,0,22,12,black,1,0,9729.719,7372.548,2231.367,False,False
+PSID42,0,25,5,white,1,1,7891.927,7293.774,14617.67,False,True
+PSID43,0,25,12,white,1,0,11516.57,7263.339,19588.74,False,True
+PSID44,0,21,12,white,1,0,13601.23,7202.468,10746.03,False,True
+PSID45,0,33,9,hispan,1,1,11959.36,7087.887,25564.67,True,False
+PSID46,0,20,12,black,1,0,9555.344,7055.661,0.0,False,False
+PSID47,0,19,11,white,1,1,4306.468,6978.677,837.871,False,True
+PSID48,0,25,12,black,1,0,295.8493,6942.871,461.0507,False,False
+PSID49,0,29,12,white,1,0,15303.83,6932.129,24290.87,False,True
+PSID50,0,20,12,white,1,0,3558.029,6797.855,6680.802,False,True
+PSID51,0,29,6,hispan,1,1,8542.403,6701.177,7196.528,True,False
+PSID52,0,25,13,white,1,0,19259.59,6652.839,13015.82,False,True
+PSID53,0,41,15,white,1,0,25862.32,6563.323,24647.0,False,True
+PSID54,0,39,10,white,1,1,22745.13,6493.5,25564.67,False,True
+PSID55,0,33,12,white,1,0,10819.07,6369.968,2936.243,False,True
+PSID56,0,29,8,white,1,1,9169.369,6352.065,20575.86,False,True
+PSID57,0,21,11,white,1,1,10679.96,6276.871,10923.35,False,True
+PSID58,0,31,12,white,1,0,23652.27,6228.532,22403.81,False,True
+PSID59,0,36,12,black,1,0,11040.47,6221.371,7215.739,False,False
+PSID60,0,25,7,white,1,1,5597.625,6099.629,122.6513,False,True
+PSID61,0,35,7,white,1,1,10715.23,6087.097,15177.73,False,True
+PSID62,0,22,9,white,1,1,5683.833,6038.758,4742.025,False,True
+PSID63,0,31,2,hispan,1,1,3262.179,5965.355,9732.307,True,False
+PSID64,0,40,15,white,1,0,10907.24,5922.387,6238.962,False,True
+PSID65,0,47,3,white,1,1,9047.894,5911.645,6145.865,False,True
+PSID66,0,26,8,hispan,0,1,3168.134,5872.258,11136.15,True,False
+PSID67,0,42,7,white,1,1,10971.89,5806.016,9241.702,False,True
+PSID68,0,53,12,white,0,0,17104.4,5775.581,19965.56,False,True
+PSID69,0,30,17,black,0,0,17827.37,5546.419,14421.13,False,False
+PSID70,0,28,10,white,1,1,10415.46,5544.629,10289.41,False,True
+PSID71,0,46,11,white,1,1,14753.28,5299.355,0.0,False,True
+PSID72,0,28,12,white,0,0,8256.35,5279.661,21602.88,False,True
+PSID73,0,27,12,hispan,1,0,17604.01,5222.371,25564.67,True,False
+PSID74,0,25,10,white,1,1,4335.857,5181.194,12418.81,False,True
+PSID75,0,38,8,white,1,1,11242.27,5174.032,0.0,False,True
+PSID76,0,26,12,hispan,0,0,7968.338,5109.581,4181.966,True,False
+PSID77,0,54,12,white,0,0,7165.039,5012.903,0.0,False,True
+PSID78,0,38,8,hispan,1,1,22606.02,4978.887,8720.065,True,False
+PSID79,0,23,17,white,0,0,0.0,4876.839,16747.08,False,True
+PSID80,0,23,8,white,1,1,3595.255,4866.097,2782.559,False,True
+PSID81,0,23,12,white,1,0,11690.95,4764.048,14065.0,False,True
+PSID82,0,25,12,hispan,1,0,8746.167,4762.258,379.7757,True,False
+PSID83,0,25,15,white,1,0,7386.436,4738.984,12705.49,False,True
+PSID84,0,37,11,hispan,0,1,615.2098,4713.919,0.0,True,False
+PSID85,0,40,12,white,1,0,18389.68,4688.855,21857.05,False,True
+PSID86,0,19,10,white,0,1,5777.878,4672.742,135.9508,False,True
+PSID87,0,48,7,white,1,1,13326.93,4636.935,0.0,False,True
+PSID88,0,19,12,white,0,0,8530.648,4620.823,0.0,False,True
+PSID89,0,16,9,white,0,1,2539.21,4579.645,0.0,False,True
+PSID90,0,29,10,white,1,1,713.1731,4542.048,7781.708,False,True
+PSID91,0,30,16,white,0,0,3093.682,4468.645,15538.29,False,True
+PSID92,0,22,11,white,1,1,8761.841,4463.274,10642.59,False,True
+PSID93,0,22,10,white,0,1,17268.98,4400.613,2453.026,False,True
+PSID94,0,47,10,black,1,1,13311.26,4397.032,19330.14,False,False
+PSID95,0,25,12,hispan,1,0,2266.872,4361.226,3020.473,True,False
+PSID96,0,47,10,black,0,1,21918.32,4323.629,19438.02,False,False
+PSID97,0,24,12,black,1,0,8573.752,4293.194,0.0,False,False
+PSID98,0,20,12,black,1,0,2648.929,4273.5,0.0,False,False
+PSID99,0,28,12,black,0,0,16722.34,4253.806,7314.747,False,False
+PSID100,0,47,11,white,0,1,8060.424,4232.323,3358.873,False,True
+PSID101,0,50,0,white,1,1,10162.72,4218.0,220.1813,False,True
+PSID102,0,18,12,white,0,0,2217.89,4191.145,8957.978,False,True
+PSID103,0,21,12,white,0,0,9665.063,4110.581,1687.564,False,True
+PSID104,0,47,11,white,1,1,23924.61,4096.258,17358.85,False,True
+PSID105,0,21,12,white,0,0,2827.222,4056.871,5937.505,False,True
+PSID106,0,34,11,white,1,1,0.0,4010.323,18133.18,False,True
+PSID107,0,19,12,white,1,0,5817.063,3919.016,1066.919,False,True
+PSID108,0,44,13,white,1,0,8032.994,3881.419,3104.704,False,True
+PSID109,0,21,15,white,1,0,6951.479,3879.629,0.0,False,True
+PSID110,0,20,12,black,0,0,5099.971,3842.032,12718.79,False,False
+PSID111,0,51,11,white,0,1,48.98167,3813.387,1525.014,False,True
+PSID112,0,28,13,white,0,0,5260.631,3790.113,9253.524,False,True
+PSID113,0,24,15,white,0,0,12746.99,3743.565,0.0,False,True
+PSID114,0,28,8,hispan,1,1,8305.332,3718.5,0.0,True,False
+PSID115,0,20,11,white,1,1,5822.941,3532.306,11075.56,False,True
+PSID116,0,29,12,white,1,0,14288.93,3503.661,8133.407,False,True
+PSID117,0,23,12,white,1,0,14347.71,3482.177,3818.445,False,True
+PSID118,0,20,11,black,0,1,0.0,3480.387,5495.665,False,False
+PSID119,0,42,7,white,1,1,4324.102,3457.113,9856.436,False,True
+PSID120,0,43,12,white,1,0,14328.12,3453.532,18781.9,False,True
+PSID121,0,27,13,white,0,0,16406.9,3426.677,5344.937,False,True
+PSID122,0,27,4,hispan,1,1,626.9654,3410.565,3367.739,True,False
+PSID123,0,25,12,white,1,0,21469.65,3405.194,7981.201,False,True
+PSID124,0,18,12,white,0,0,4729.67,3328.21,12602.05,False,True
+PSID125,0,31,16,white,1,0,25862.32,3254.806,25564.67,False,True
+PSID126,0,27,12,white,1,0,4043.927,3231.532,7240.86,False,True
+PSID127,0,18,11,white,0,1,0.0,3226.161,15814.63,False,True
+PSID128,0,24,7,white,1,1,7860.578,3213.629,0.0,False,True
+PSID129,0,23,12,white,1,0,7856.66,3213.629,5535.564,False,True
+PSID130,0,50,12,white,1,0,19929.66,3190.355,18597.19,False,True
+PSID131,0,19,12,white,0,0,99.92261,3172.452,15436.33,False,True
+PSID132,0,23,10,white,1,1,15811.28,3145.597,6398.556,False,True
+PSID133,0,51,12,white,1,0,21001.38,3140.226,16015.6,False,True
+PSID134,0,19,11,black,0,1,5607.422,3054.29,94.5745,False,False
+PSID135,0,20,10,white,1,1,3099.56,2970.145,21141.83,False,True
+PSID136,0,20,11,hispan,0,1,2868.367,2968.355,7403.41,True,False
+PSID137,0,21,12,white,0,0,8128.998,2939.71,0.0,False,True
+PSID138,0,39,10,white,1,1,0.0,2886.0,18761.22,False,True
+PSID139,0,36,5,white,0,1,3814.692,2873.468,2751.527,False,True
+PSID140,0,19,9,black,0,1,1079.556,2873.468,14344.29,False,False
+PSID141,0,42,6,hispan,1,1,2425.572,2832.29,1907.745,True,False
+PSID142,0,20,7,white,0,1,1902.448,2792.903,6098.578,False,True
+PSID143,0,23,12,white,1,0,4954.986,2771.419,0.0,False,True
+PSID144,0,35,12,white,1,0,1469.45,2719.5,0.0,False,True
+PSID145,0,18,12,white,0,0,881.6701,2696.226,12120.31,False,True
+PSID146,0,43,8,white,1,1,18338.74,2674.742,6395.601,False,True
+PSID147,0,37,14,white,1,0,18501.36,2638.935,13429.58,False,True
+PSID148,0,24,10,white,1,1,4719.874,2565.532,2173.736,False,True
+PSID149,0,51,12,white,0,0,20742.76,2538.677,1019.631,False,True
+PSID150,0,22,11,hispan,0,1,7341.373,2535.097,14187.65,True,False
+PSID151,0,19,12,white,0,0,336.9939,2518.984,7118.209,False,True
+PSID152,0,52,0,hispan,1,1,773.9104,2506.452,0.0,True,False
+PSID153,0,21,12,white,0,0,2903.633,2456.323,4787.834,False,True
+PSID154,0,24,12,white,0,0,9784.578,2413.355,0.0,False,True
+PSID155,0,35,8,white,1,1,2241.401,2399.032,9460.406,False,True
+PSID156,0,20,13,white,0,0,0.0,2352.484,0.0,False,True
+PSID157,0,17,7,black,0,1,1054.086,2286.242,1613.677,False,False
+PSID158,0,18,10,black,0,1,311.5234,2284.452,8154.095,False,False
+PSID159,0,28,12,black,0,0,6285.328,2255.806,7310.313,False,False
+PSID160,0,25,14,hispan,1,0,1622.273,2239.694,1892.968,True,False
+PSID161,0,40,12,hispan,0,0,13616.9,2228.952,876.2919,True,False
+PSID162,0,50,3,white,1,1,3136.786,2203.887,13976.34,False,True
+PSID163,0,48,8,white,1,1,16050.31,2116.161,11600.15,False,True
+PSID164,0,17,7,hispan,0,1,0.0,2082.145,6460.621,True,False
+PSID165,0,30,12,white,1,0,7347.251,2080.355,14475.81,False,True
+PSID166,0,30,7,white,1,1,574.0652,2010.532,366.4762,False,True
+PSID167,0,22,11,white,1,1,3030.986,1976.516,0.0,False,True
+PSID168,0,27,12,white,1,0,11493.06,1906.694,13419.24,False,True
+PSID169,0,25,9,white,1,1,23377.97,1901.323,1898.879,False,True
+PSID170,0,21,14,white,0,0,80.32994,1890.581,6389.69,False,True
+PSID171,0,17,10,white,0,1,0.0,1888.79,19993.64,False,True
+PSID172,0,39,7,white,0,1,7786.126,1844.032,9206.237,False,True
+PSID173,0,18,9,black,0,1,1183.397,1822.548,803.8833,False,False
+PSID174,0,25,12,white,1,0,2721.422,1754.516,1037.364,False,True
+PSID175,0,20,8,white,1,1,2360.916,1741.984,0.0,False,True
+PSID176,0,19,13,white,0,0,2366.794,1709.758,0.0,False,True
+PSID177,0,19,11,white,0,1,0.0,1693.645,9853.481,False,True
+PSID178,0,22,12,white,0,0,10137.25,1679.323,25564.67,False,True
+PSID179,0,18,11,black,0,1,2068.986,1623.823,20243.38,False,False
+PSID180,0,21,10,white,0,1,1767.259,1555.79,7675.312,False,True
+PSID181,0,24,12,white,1,0,7643.1,1546.839,3262.82,False,True
+PSID182,0,18,11,white,0,1,1273.523,1532.516,12489.75,False,True
+PSID183,0,17,10,white,0,1,568.1874,1525.355,6231.573,False,True
+PSID184,0,17,10,white,0,1,0.0,1503.871,7843.773,False,True
+PSID185,0,18,10,white,0,1,0.0,1491.339,237.914,False,True
+PSID186,0,53,10,hispan,0,1,7878.212,1489.548,13170.98,True,False
+PSID187,0,18,11,black,0,1,1191.234,1478.806,3683.972,False,False
+PSID188,0,17,10,hispan,0,1,0.0,1453.742,6918.716,True,False
+PSID189,0,26,12,black,0,0,0.0,1448.371,0.0,False,False
+PSID190,0,39,5,white,1,1,13082.02,1434.048,18323.81,False,True
+PSID191,0,18,12,black,0,0,1579.169,1408.984,3057.416,False,False
+PSID192,0,23,13,white,0,0,601.4949,1394.661,4975.505,False,True
+PSID193,0,18,8,white,0,1,5023.56,1391.081,6756.166,False,True
+PSID194,0,28,10,white,1,1,7578.444,1383.919,2404.261,False,True
+PSID195,0,32,4,white,1,1,0.0,1378.548,0.0,False,True
+PSID196,0,18,11,black,0,1,0.0,1367.806,33.98771,False,False
+PSID197,0,40,10,white,1,1,1543.902,1342.742,0.0,False,True
+PSID198,0,21,14,white,0,0,8456.196,1330.21,16967.26,False,True
+PSID199,0,29,10,hispan,0,1,3732.403,1323.048,6694.101,True,False
+PSID200,0,31,6,white,0,1,2666.562,1321.258,0.0,False,True
+PSID201,0,46,7,white,1,1,19171.43,1317.677,0.0,False,True
+PSID202,0,20,9,hispan,1,1,0.0,1283.661,0.0,True,False
+PSID203,0,36,18,white,1,0,3273.935,1269.339,18227.76,False,True
+PSID204,0,45,12,white,1,0,16559.72,1265.758,7987.112,False,True
+PSID205,0,16,10,white,0,1,1026.656,1224.581,6847.785,False,True
+PSID206,0,18,12,white,0,0,818.9735,1208.468,2232.845,False,True
+PSID207,0,40,12,hispan,0,0,11867.28,1195.935,3873.121,True,False
+PSID208,0,16,9,white,0,1,0.0,1188.774,2451.548,False,True
+PSID209,0,16,10,white,0,1,574.0652,1181.613,5578.418,False,True
+PSID210,0,28,5,hispan,1,1,10967.98,1178.032,239.3917,True,False
+PSID211,0,20,12,white,0,0,0.0,1147.597,15554.55,False,True
+PSID212,0,19,8,white,1,1,39.18534,1136.855,5327.204,False,True
+PSID213,0,16,8,white,0,1,0.0,1113.581,542.3257,False,True
+PSID214,0,20,11,white,1,1,2547.047,1099.258,0.0,False,True
+PSID215,0,35,10,white,1,1,4964.782,1086.726,1745.195,False,True
+PSID216,0,32,6,hispan,1,1,979.6334,1036.597,0.0,True,False
+PSID217,0,32,16,black,0,0,17135.75,1031.226,0.0,False,False
+PSID218,0,17,9,black,0,1,0.0,981.0968,8900.347,False,False
+PSID219,0,16,7,white,0,1,0.0,975.7258,4728.725,False,True
+PSID220,0,32,15,white,0,0,489.8167,968.5645,7684.178,False,True
+PSID221,0,19,12,white,0,0,815.055,964.9839,12059.73,False,True
+PSID222,0,40,12,white,1,0,16851.65,961.4032,17717.94,False,True
+PSID223,0,50,7,white,1,1,11473.47,956.0323,0.0,False,True
+PSID224,0,39,11,white,0,1,0.0,930.9677,0.0,False,True
+PSID225,0,18,8,hispan,0,1,0.0,902.3226,1306.31,True,False
+PSID226,0,39,10,black,0,1,844.444,889.7903,701.9201,False,False
+PSID227,0,17,11,hispan,0,1,0.0,873.6774,7759.542,True,False
+PSID228,0,17,5,black,0,1,96.00407,868.3065,0.0,False,False
+PSID229,0,19,12,white,0,0,2425.572,861.1452,2587.499,False,True
+PSID230,0,27,15,white,0,0,0.0,857.5645,3392.86,False,True
+PSID231,0,18,11,black,0,1,587.78,841.4516,7933.914,False,False
+PSID232,0,20,14,white,1,0,0.0,805.6452,1454.083,False,True
+PSID233,0,20,12,white,1,0,12145.49,791.3226,13683.75,False,True
+PSID234,0,19,13,black,0,0,1714.358,785.9516,9067.33,False,False
+PSID235,0,24,8,white,1,1,213.5601,760.8871,2340.719,False,True
+PSID236,0,27,12,white,1,0,4222.22,751.9355,0.0,False,True
+PSID237,0,19,9,white,0,1,773.9104,676.7419,5647.871,False,True
+PSID238,0,52,8,black,1,1,5454.599,666.0,0.0,False,False
+PSID239,0,18,11,hispan,0,1,0.0,630.1935,0.0,True,False
+PSID240,0,16,10,hispan,0,1,0.0,630.1935,3892.332,True,False
+PSID241,0,18,12,hispan,0,0,0.0,630.1935,4843.988,True,False
+PSID242,0,45,12,white,0,0,4473.006,608.7097,0.0,False,True
+PSID243,0,21,14,white,0,0,9708.167,594.3871,2256.488,False,True
+PSID244,0,36,8,white,1,1,2715.544,585.4355,0.0,False,True
+PSID245,0,21,13,white,0,0,513.3279,578.2742,0.0,False,True
+PSID246,0,41,7,white,1,1,19573.08,565.7419,0.0,False,True
+PSID247,0,18,7,white,0,1,491.776,558.5806,642.8111,False,True
+PSID248,0,39,9,white,0,1,11230.52,537.0968,5752.79,False,True
+PSID249,0,19,3,white,1,1,0.0,537.0968,0.0,False,True
+PSID250,0,32,13,white,1,0,12553.02,524.5645,15353.58,False,True
+PSID251,0,16,9,white,0,1,0.0,485.1774,4112.513,False,True
+PSID252,0,16,7,white,0,1,658.3136,479.8065,6210.885,False,True
+PSID253,0,21,9,black,0,1,1030.574,470.8548,1223.558,False,False
+PSID254,0,22,12,white,1,0,12096.51,469.0645,14289.62,False,True
+PSID255,0,23,11,hispan,1,1,8946.012,469.0645,4776.012,True,False
+PSID256,0,17,8,black,0,1,0.0,451.1613,0.0,False,False
+PSID257,0,21,8,white,1,1,5699.507,388.5,8844.194,False,True
+PSID258,0,18,10,white,0,1,0.0,386.7097,0.0,False,True
+PSID259,0,24,12,white,1,0,9051.813,327.629,8547.171,False,True
+PSID260,0,24,12,black,1,0,4232.016,320.4677,1273.8,False,False
+PSID261,0,16,9,white,0,1,0.0,320.4677,3707.616,False,True
+PSID262,0,20,8,white,1,1,621.0876,306.1452,5551.819,False,True
+PSID263,0,42,8,white,0,1,17925.33,300.7742,14116.72,False,True
+PSID264,0,17,8,hispan,0,1,391.8534,300.7742,18891.26,True,False
+PSID265,0,19,8,hispan,0,1,368.3422,300.7742,18510.0,True,False
+PSID266,0,17,9,black,0,1,0.0,297.1935,54.67588,False,False
+PSID267,0,21,14,white,0,0,107.7597,293.6129,7698.955,False,True
+PSID268,0,16,9,black,0,1,0.0,277.5,3983.951,False,False
+PSID269,0,23,13,black,0,0,172.4155,272.129,582.2243,False,False
+PSID270,0,16,9,white,0,1,411.446,254.2258,1725.985,False,True
+PSID271,0,17,11,hispan,0,1,803.2994,248.8548,5173.521,True,False
+PSID272,0,46,7,white,0,1,1081.515,245.2742,0.0,False,True
+PSID273,0,32,10,white,1,1,4145.809,238.1129,8245.714,False,True
+PSID274,0,18,11,white,0,1,131.2709,218.4194,7503.896,False,True
+PSID275,0,23,12,hispan,1,0,0.0,216.629,0.0,True,False
+PSID276,0,18,10,white,1,1,0.0,211.2581,14053.18,False,True
+PSID277,0,19,10,black,0,1,1056.045,205.8871,0.0,False,False
+PSID278,0,16,7,black,0,1,133.2301,205.8871,6145.865,False,False
+PSID279,0,26,7,white,1,1,1538.024,189.7742,650.1997,False,True
+PSID280,0,16,10,white,0,1,0.0,189.7742,2136.793,False,True
+PSID281,0,17,10,white,0,1,0.0,182.6129,6423.677,False,True
+PSID282,0,17,10,white,0,1,0.0,171.871,1483.637,False,True
+PSID283,0,23,8,white,1,1,33.30754,166.5,0.0,False,True
+PSID284,0,29,12,white,1,0,14641.6,162.9194,9473.705,False,True
+PSID285,0,17,10,white,0,1,0.0,152.1774,10301.23,False,True
+PSID286,0,49,8,white,1,1,14684.7,136.0645,14963.46,False,True
+PSID287,0,20,10,white,1,1,6563.544,134.2742,15363.92,False,True
+PSID288,0,40,16,white,1,0,0.0,114.5806,0.0,False,True
+PSID289,0,19,10,white,0,1,1933.796,112.7903,675.321,False,True
+PSID290,0,18,11,white,0,1,1481.206,57.29032,1421.573,False,True
+PSID291,0,16,6,black,0,1,0.0,44.75806,0.0,False,False
+PSID292,0,22,8,white,1,1,105.8004,42.96774,209.8372,False,True
+PSID293,0,31,12,black,1,0,0.0,42.96774,11023.84,False,False
+PSID294,0,20,11,white,1,1,4478.884,39.3871,6280.338,False,True
+PSID295,0,17,11,hispan,0,1,601.4949,10.74194,1913.656,True,False
+PSID296,0,50,12,white,1,0,25862.32,0.0,25564.67,False,True
+PSID297,0,49,14,white,1,0,25862.32,0.0,25564.67,False,True
+PSID298,0,47,9,white,1,1,25862.32,0.0,25564.67,False,True
+PSID299,0,34,11,hispan,1,1,22198.49,0.0,0.0,True,False
+PSID300,0,22,8,black,1,1,16961.37,0.0,959.0445,False,False
+PSID301,0,27,12,white,1,0,15509.56,0.0,12593.19,False,True
+PSID302,0,30,10,white,1,1,14913.94,0.0,11563.21,False,True
+PSID303,0,52,12,white,1,0,14780.71,0.0,25564.67,False,True
+PSID304,0,43,12,white,1,0,13321.05,0.0,16860.86,False,True
+PSID305,0,27,9,hispan,1,1,12829.28,0.0,0.0,True,False
+PSID306,0,35,13,white,0,0,9537.711,0.0,11269.14,False,True
+PSID307,0,45,12,white,1,0,9277.128,0.0,12108.49,False,True
+PSID308,0,22,11,black,1,1,9049.853,0.0,9088.018,False,False
+PSID309,0,22,12,white,1,0,9022.424,0.0,3342.618,False,True
+PSID310,0,23,11,white,1,1,8910.745,0.0,4183.444,False,True
+PSID311,0,55,7,white,1,1,8832.375,0.0,0.0,False,True
+PSID312,0,26,14,white,0,0,8411.132,0.0,0.0,False,True
+PSID313,0,34,12,white,0,0,8125.079,0.0,6032.08,False,True
+PSID314,0,22,11,white,0,1,8013.401,0.0,5748.356,False,True
+PSID315,0,31,12,white,0,0,6156.016,0.0,4094.78,False,True
+PSID316,0,19,12,white,0,0,5797.47,0.0,2160.436,False,True
+PSID317,0,24,10,white,1,1,5523.173,0.0,5040.525,False,True
+PSID318,0,36,12,white,1,0,5374.269,0.0,0.0,False,True
+PSID319,0,20,9,white,1,1,5229.283,0.0,15892.95,False,True
+PSID320,0,23,8,white,1,1,4610.155,0.0,0.0,False,True
+PSID321,0,35,11,white,1,1,3975.352,0.0,21963.45,False,True
+PSID322,0,23,12,white,0,0,3893.063,0.0,16324.45,False,True
+PSID323,0,29,10,white,0,1,3751.996,0.0,251.2135,False,True
+PSID324,0,24,9,white,1,1,3438.513,0.0,818.6605,False,True
+PSID325,0,18,10,white,0,1,3360.143,0.0,0.0,False,True
+PSID326,0,45,8,black,0,1,3299.405,0.0,31.03226,False,False
+PSID327,0,21,13,hispan,0,0,3015.312,0.0,17627.8,True,False
+PSID328,0,29,13,white,1,0,2780.2,0.0,14339.86,False,True
+PSID329,0,21,15,white,0,0,2629.336,0.0,1717.118,False,True
+PSID330,0,22,16,black,0,0,2564.68,0.0,116.7404,False,False
+PSID331,0,24,12,black,1,0,2355.039,0.0,2448.593,False,False
+PSID332,0,20,14,white,0,0,2210.053,0.0,2813.591,False,True
+PSID333,0,19,6,black,0,1,1955.348,0.0,14998.92,False,False
+PSID334,0,19,9,hispan,0,1,1822.118,0.0,3372.172,True,False
+PSID335,0,19,12,black,0,0,1681.051,0.0,0.0,False,False
+PSID336,0,20,13,white,0,0,1657.54,0.0,913.235,False,True
+PSID337,0,19,12,black,0,0,1655.58,0.0,0.0,False,False
+PSID338,0,26,5,white,1,1,1573.291,0.0,3700.227,False,True
+PSID339,0,26,9,hispan,0,1,1563.495,0.0,2862.356,True,False
+PSID340,0,23,12,white,0,0,1504.717,0.0,0.0,False,True
+PSID341,0,20,9,hispan,0,1,1500.798,0.0,12618.31,True,False
+PSID342,0,20,10,white,0,1,1412.631,0.0,6290.682,False,True
+PSID343,0,36,11,white,1,1,1404.794,0.0,0.0,False,True
+PSID344,0,39,12,white,1,0,1289.198,0.0,1202.869,False,True
+PSID345,0,17,9,black,0,1,1222.582,0.0,422.6298,False,False
+PSID346,0,55,3,white,0,1,1208.868,0.0,0.0,False,True
+PSID347,0,28,8,white,1,1,1202.99,0.0,19516.33,False,True
+PSID348,0,19,12,hispan,0,0,1058.004,0.0,8923.991,True,False
+PSID349,0,37,7,white,1,1,963.9593,0.0,0.0,False,True
+PSID350,0,16,9,white,1,1,920.8554,0.0,15997.87,False,True
+PSID351,0,17,10,white,0,1,646.558,0.0,9438.24,False,True
+PSID352,0,24,12,black,0,0,566.2281,0.0,2284.565,False,False
+PSID353,0,19,11,white,0,1,540.7576,0.0,3406.16,False,True
+PSID354,0,50,5,black,1,1,411.446,0.0,9166.338,False,False
+PSID355,0,19,9,black,0,1,384.0163,0.0,0.0,False,False
+PSID356,0,36,1,black,0,1,348.7495,0.0,0.0,False,False
+PSID357,0,18,11,white,0,1,321.3198,0.0,7722.599,False,True
+PSID358,0,16,7,hispan,0,1,289.9715,0.0,7515.717,True,False
+PSID359,0,21,11,white,1,1,246.8676,0.0,6708.879,False,True
+PSID360,0,55,6,white,1,1,111.6782,0.0,0.0,False,True
+PSID361,0,37,12,white,0,0,48.98167,0.0,877.7696,False,True
+PSID362,0,26,12,hispan,1,0,47.0224,0.0,0.0,True,False
+PSID363,0,54,12,white,1,0,0.0,0.0,0.0,False,True
+PSID364,0,50,12,white,1,0,0.0,0.0,0.0,False,True
+PSID365,0,16,8,white,0,1,0.0,0.0,2559.422,False,True
+PSID366,0,16,9,hispan,0,1,0.0,0.0,0.0,True,False
+PSID367,0,18,10,black,0,1,0.0,0.0,2281.61,False,False
+PSID368,0,40,11,black,1,1,0.0,0.0,0.0,False,False
+PSID369,0,16,8,white,0,1,0.0,0.0,0.0,False,True
+PSID370,0,16,9,black,0,1,0.0,0.0,2158.959,False,False
+PSID371,0,26,14,white,0,0,0.0,0.0,6717.745,False,True
+PSID372,0,20,9,black,0,1,0.0,0.0,6083.8,False,False
+PSID373,0,20,12,black,0,0,0.0,0.0,0.0,False,False
+PSID374,0,18,11,black,0,1,0.0,0.0,0.0,False,False
+PSID375,0,46,11,black,1,1,0.0,0.0,2820.98,False,False
+PSID376,0,17,8,black,0,1,0.0,0.0,12760.17,False,False
+PSID377,0,16,9,white,0,1,0.0,0.0,4974.028,False,True
+PSID378,0,30,10,white,1,1,0.0,0.0,3151.991,False,True
+PSID379,0,33,12,hispan,1,0,0.0,0.0,5841.453,True,False
+PSID380,0,34,12,black,1,0,0.0,0.0,18716.88,False,False
+PSID381,0,21,13,black,0,0,0.0,0.0,17941.08,False,False
+PSID382,0,29,11,white,1,1,0.0,0.0,0.0,False,True
+PSID383,0,19,12,white,0,0,0.0,0.0,0.0,False,True
+PSID384,0,31,4,hispan,0,1,0.0,0.0,1161.493,True,False
+PSID385,0,19,12,hispan,0,0,0.0,0.0,18573.55,True,False
+PSID386,0,20,12,black,0,0,0.0,0.0,11594.24,False,False
+PSID387,0,55,4,black,0,1,0.0,0.0,0.0,False,False
+PSID388,0,19,11,black,0,1,0.0,0.0,16485.52,False,False
+PSID389,0,18,11,black,0,1,0.0,0.0,7146.286,False,False
+PSID390,0,48,13,white,1,0,0.0,0.0,0.0,False,True
+PSID391,0,16,9,hispan,1,1,0.0,0.0,6821.186,True,False
+PSID392,0,17,10,black,0,1,0.0,0.0,0.0,False,False
+PSID393,0,38,12,white,1,0,0.0,0.0,18756.78,False,True
+PSID394,0,34,8,white,1,1,0.0,0.0,2664.341,False,True
+PSID395,0,53,12,white,0,0,0.0,0.0,0.0,False,True
+PSID396,0,48,14,white,1,0,0.0,0.0,7236.427,False,True
+PSID397,0,16,9,white,0,1,0.0,0.0,6494.608,False,True
+PSID398,0,17,8,black,0,1,0.0,0.0,4520.366,False,False
+PSID399,0,27,14,black,0,0,0.0,0.0,10122.43,False,False
+PSID400,0,37,8,black,0,1,0.0,0.0,648.722,False,False
+PSID401,0,17,10,black,0,1,0.0,0.0,1053.619,False,False
+PSID402,0,16,8,white,0,1,0.0,0.0,0.0,False,True
+PSID403,0,48,12,white,1,0,0.0,0.0,1491.026,False,True
+PSID404,0,55,7,white,0,1,0.0,0.0,0.0,False,True
+PSID405,0,21,15,white,0,0,0.0,0.0,0.0,False,True
+PSID406,0,16,10,black,0,1,0.0,0.0,1730.418,False,False
+PSID407,0,23,12,white,0,0,0.0,0.0,3902.676,False,True
+PSID408,0,46,11,black,1,1,0.0,0.0,0.0,False,False
+PSID409,0,17,10,white,0,1,0.0,0.0,14942.77,False,True
+PSID410,0,42,16,white,0,0,0.0,0.0,23764.8,False,True
+PSID411,0,18,10,black,0,1,0.0,0.0,5306.516,False,False
+PSID412,0,53,12,black,0,0,0.0,0.0,0.0,False,False
+PSID413,0,17,10,white,1,1,0.0,0.0,3859.822,False,True
+PSID414,0,17,6,white,0,1,0.0,0.0,0.0,False,True
+PSID415,0,43,6,white,1,1,0.0,0.0,0.0,False,True
+PSID416,0,34,12,black,0,0,0.0,0.0,0.0,False,False
+PSID417,0,16,8,hispan,0,1,0.0,0.0,12242.96,True,False
+PSID418,0,27,12,white,1,0,0.0,0.0,1533.88,False,True
+PSID419,0,51,4,black,0,1,0.0,0.0,0.0,False,False
+PSID420,0,39,2,black,1,1,0.0,0.0,964.9555,False,False
+PSID421,0,55,8,white,1,1,0.0,0.0,0.0,False,True
+PSID422,0,16,9,white,0,1,0.0,0.0,5551.819,False,True
+PSID423,0,27,10,black,0,1,0.0,0.0,7543.794,False,False
+PSID424,0,25,14,white,0,0,0.0,0.0,0.0,False,True
+PSID425,0,18,11,white,0,1,0.0,0.0,10150.5,False,True
+PSID426,0,24,1,hispan,1,1,0.0,0.0,19464.61,True,False
+PSID427,0,21,18,white,0,0,0.0,0.0,0.0,False,True
+PSID428,0,32,5,black,1,1,0.0,0.0,187.6713,False,False
+PSID429,0,16,9,white,0,1,0.0,0.0,1495.459,False,True
diff --git a/causalpy/data/nets_df.csv b/causalpy/data/nets_df.csv
new file mode 100644
index 00000000..aa2578e3
--- /dev/null
+++ b/causalpy/data/nets_df.csv
@@ -0,0 +1,1753 @@
+id,net,net_num,malaria_risk,income,health,household,eligible,temperature,resistance
+1,True,1,33,781,56,2,False,21.1,59
+2,False,0,42,974,57,4,False,26.5,73
+3,False,0,80,502,15,3,False,25.6,65
+4,True,1,34,671,20,5,True,21.3,46
+5,False,0,44,728,17,5,False,19.2,54
+6,False,0,25,1050,48,1,False,25.3,34
+7,True,1,19,1146,65,3,False,27.4,45
+8,False,0,35,1093,75,5,False,29.8,65
+9,False,0,32,1037,60,3,False,27.6,55
+10,False,0,40,828,36,3,False,21.3,54
+11,False,0,30,889,75,6,False,17.4,33
+12,True,1,14,1133,62,3,False,18.9,39
+13,True,1,31,807,42,4,False,27.6,37
+14,False,0,34,950,53,3,False,24.0,53
+15,False,0,22,1195,90,1,False,24.5,34
+16,True,1,54,594,29,5,True,25.5,55
+17,True,1,23,936,47,2,False,26.1,32
+18,False,0,41,816,30,1,False,17.7,73
+19,False,0,37,962,55,2,False,26.7,54
+20,True,1,65,431,6,6,True,26.8,38
+21,False,0,59,760,36,5,False,28.7,51
+22,False,0,59,655,30,4,False,23.6,43
+23,False,0,41,896,45,3,False,25.9,53
+24,True,1,21,1033,64,7,False,23.4,51
+25,False,0,25,1115,62,3,False,27.3,33
+26,False,0,27,1139,75,4,False,30.7,37
+27,True,1,23,967,71,3,False,21.1,52
+28,True,1,26,840,37,3,False,17.8,71
+29,False,0,35,946,49,2,False,22.7,63
+30,False,0,50,698,25,2,False,22.4,39
+31,True,1,50,580,37,6,True,20.3,59
+32,False,0,50,762,20,5,False,26.2,47
+33,True,1,29,894,53,4,False,26.7,52
+34,False,0,30,907,40,4,False,20.3,51
+35,False,0,66,682,22,1,False,23.2,84
+36,True,1,27,829,67,3,False,22.5,31
+37,False,0,51,772,41,4,False,24.5,49
+38,False,0,48,730,55,2,False,22.9,23
+39,False,0,32,984,51,2,False,24.4,56
+40,True,1,21,1016,40,2,False,22.7,63
+41,False,0,76,641,56,2,False,26.7,68
+42,False,0,59,656,41,3,False,27.1,21
+43,True,1,21,963,53,3,False,18.7,53
+44,True,1,35,840,41,2,False,26.6,70
+45,False,0,25,1110,78,2,False,23.2,42
+46,True,1,31,737,76,2,False,16.8,45
+47,False,0,48,827,52,2,False,25.3,47
+48,False,0,52,810,48,3,False,26.3,53
+49,True,1,29,857,46,2,False,24.0,57
+50,True,1,13,1307,67,5,False,21.8,66
+51,True,1,26,915,56,1,False,25.7,46
+52,False,0,39,826,59,3,False,18.0,50
+53,False,0,46,825,41,4,False,18.7,82
+54,False,0,52,864,49,1,False,29.8,54
+55,False,0,26,1053,64,3,False,22.0,50
+56,False,0,36,822,33,2,False,23.8,29
+57,False,0,53,631,15,1,False,18.9,48
+58,False,0,27,1000,52,4,False,22.1,45
+59,False,0,48,766,60,5,False,20.3,47
+60,False,0,37,893,52,2,False,24.6,40
+61,False,0,21,1130,55,3,False,22.1,38
+62,False,0,19,1222,65,1,False,23.0,38
+63,False,0,35,1036,69,2,False,30.8,45
+64,False,0,49,817,35,2,False,23.6,67
+65,False,0,61,743,26,4,False,27.7,62
+66,False,0,19,1293,82,3,False,25.5,43
+67,False,0,36,732,21,4,False,19.6,24
+68,False,0,40,869,52,4,False,26.1,36
+69,True,1,27,735,31,4,False,18.6,41
+70,True,1,14,1194,70,3,False,19.2,49
+71,True,1,13,1259,61,4,False,24.9,38
+72,False,0,61,763,35,3,False,25.7,76
+73,False,0,43,789,43,4,False,21.4,44
+74,True,1,15,1235,88,1,False,25.4,31
+75,False,0,27,1003,39,3,False,23.5,46
+76,False,0,38,796,43,2,False,20.7,34
+77,False,0,45,934,64,2,False,28.9,50
+78,False,0,24,1047,71,3,False,17.2,51
+79,True,1,30,812,44,2,False,24.4,53
+80,False,0,26,960,35,1,False,24.0,25
+81,False,0,29,1044,58,2,False,26.7,51
+82,False,0,38,927,55,3,False,24.8,52
+83,True,1,14,1229,77,3,False,24.4,28
+84,False,0,31,1152,83,4,False,31.2,61
+85,True,1,13,1270,78,1,False,18.5,59
+86,True,1,19,1137,59,3,False,21.1,80
+87,False,0,45,704,30,7,False,17.1,50
+88,False,0,49,830,44,5,False,27.3,48
+89,True,1,58,666,44,5,True,32.0,49
+90,False,0,41,929,37,2,False,30.4,49
+91,False,0,24,1041,69,1,False,21.9,22
+92,False,0,38,909,67,3,False,27.7,24
+93,False,0,43,885,35,2,False,29.1,47
+94,False,0,61,765,45,3,False,31.5,39
+95,True,1,20,1082,71,2,False,24.4,48
+96,False,0,30,781,39,2,False,17.9,18
+97,False,0,27,927,56,4,False,19.2,27
+98,False,0,27,945,24,1,False,23.4,32
+99,True,1,13,1422,97,3,False,25.6,61
+100,True,1,26,969,65,3,False,30.0,32
+101,False,0,39,845,35,3,False,25.4,36
+102,True,1,20,1106,94,2,False,22.9,49
+103,True,1,44,582,36,3,False,19.9,43
+104,True,1,20,986,44,6,False,20.9,50
+105,False,0,42,902,29,3,False,23.4,80
+106,True,1,24,910,53,5,False,25.0,32
+107,False,0,61,711,53,5,False,25.8,43
+108,True,1,18,982,51,3,False,18.1,40
+109,False,0,30,935,26,3,False,20.1,69
+110,False,0,22,1066,55,2,False,20.1,37
+111,True,1,15,1211,83,5,False,21.5,46
+112,True,1,42,647,30,2,False,20.6,59
+113,True,1,30,665,32,1,False,19.2,33
+114,False,0,29,1053,64,6,False,21.8,71
+115,False,0,34,1008,66,4,False,26.1,57
+116,False,0,29,835,13,2,False,20.8,33
+117,False,0,45,890,56,3,False,26.3,54
+118,False,0,43,917,43,6,False,30.7,45
+119,True,1,13,1220,71,3,False,17.7,52
+120,True,1,23,961,43,2,False,25.6,46
+121,False,0,33,913,59,3,False,18.2,63
+122,True,1,40,663,40,2,False,25.3,29
+123,False,0,33,861,49,2,False,20.2,40
+124,True,1,24,958,30,2,False,28.6,44
+125,True,1,58,592,40,2,False,30.3,34
+126,False,0,32,1002,69,7,False,28.5,33
+127,True,1,24,959,65,2,False,22.8,47
+128,False,0,46,826,40,1,False,26.2,46
+129,False,0,57,695,44,2,False,29.6,12
+130,False,0,23,1261,91,4,False,26.3,62
+131,True,1,14,1274,62,3,False,24.1,51
+132,True,1,32,854,48,5,False,22.5,81
+133,True,1,16,1246,81,3,False,24.0,57
+134,True,1,27,859,51,4,False,23.8,41
+135,False,0,29,1176,79,3,False,26.1,87
+136,False,0,43,1048,55,3,False,29.5,87
+137,True,1,14,1222,73,4,False,23.5,31
+138,False,0,28,1166,57,4,False,32.1,54
+139,False,0,40,726,39,6,False,15.6,45
+140,False,0,39,942,60,3,False,26.2,50
+141,False,0,42,794,54,2,False,18.2,51
+142,True,1,15,1046,59,3,False,16.4,30
+143,False,0,39,887,52,1,False,23.3,52
+144,False,0,30,1067,55,2,False,25.8,72
+145,False,0,49,758,43,4,False,22.5,45
+146,False,0,55,707,47,2,False,22.1,45
+147,False,0,39,873,44,2,False,19.9,67
+148,True,1,22,1142,83,1,False,28.4,60
+149,False,0,30,920,45,2,False,26.1,25
+150,True,1,20,998,40,4,False,21.3,51
+151,True,1,22,1124,60,4,False,26.9,71
+152,False,0,44,852,41,3,False,22.1,67
+153,True,1,19,1051,71,2,False,18.3,53
+154,False,0,24,1080,71,2,False,18.4,58
+155,True,1,11,1396,97,1,False,23.6,31
+156,True,1,44,750,42,2,False,29.2,52
+157,True,1,12,1226,73,3,False,17.7,34
+158,False,0,42,785,34,2,False,22.1,41
+159,False,0,60,718,23,3,False,25.9,61
+160,True,1,13,1195,73,2,False,19.0,32
+161,False,0,33,1003,54,3,False,27.6,51
+162,False,0,44,896,33,2,False,28.8,54
+163,False,0,53,738,33,3,False,24.7,48
+164,False,0,29,1176,72,2,False,29.0,73
+165,False,0,59,595,23,2,False,22.4,33
+166,True,1,24,885,54,3,False,17.5,56
+167,False,0,54,698,39,4,False,21.7,46
+168,False,0,53,725,21,2,False,25.9,44
+169,False,0,86,353,19,3,False,23.7,54
+170,True,1,27,827,31,2,False,26.0,33
+171,True,1,16,1273,78,3,False,31.7,29
+172,False,0,28,902,59,2,False,15.8,41
+173,False,0,41,835,28,5,False,19.7,72
+174,False,0,35,833,40,4,False,18.8,48
+175,False,0,73,660,32,3,False,31.8,52
+176,True,1,27,786,60,3,False,16.9,45
+177,True,1,50,631,40,2,False,24.4,54
+178,True,1,21,948,65,3,False,19.6,34
+179,True,1,22,911,34,5,False,17.9,64
+180,True,1,12,1287,57,3,False,21.8,56
+181,True,1,21,987,40,4,False,25.7,36
+182,True,1,55,529,36,2,False,21.6,48
+183,False,0,27,1013,48,4,False,21.6,58
+184,False,0,37,964,62,2,False,25.2,55
+185,True,1,39,810,34,3,False,28.2,68
+186,False,0,48,850,58,3,False,27.9,39
+187,False,0,76,523,29,2,False,22.6,63
+188,True,1,53,599,18,3,False,24.8,62
+189,True,1,21,1116,76,5,False,28.1,45
+190,True,1,27,946,70,5,False,29.1,34
+191,False,0,17,1258,50,2,False,25.2,32
+192,False,0,40,904,49,2,False,25.0,54
+193,False,0,34,1007,52,7,False,29.8,47
+194,False,0,53,834,39,3,False,25.6,72
+195,True,1,37,623,20,5,True,17.7,55
+196,False,0,36,967,47,3,False,29.4,42
+197,False,0,41,693,29,3,False,17.1,33
+198,True,1,28,848,42,3,False,26.2,39
+199,False,0,75,503,34,2,False,21.6,52
+200,True,1,15,1113,47,3,False,20.4,41
+201,True,1,12,1388,86,2,False,25.6,55
+202,True,1,39,593,28,6,True,18.6,43
+203,False,0,66,633,34,3,False,25.8,46
+204,False,0,53,731,46,3,False,24.4,37
+205,False,0,28,1110,65,2,False,23.8,74
+206,False,0,54,902,64,5,False,32.0,52
+207,True,1,20,1071,67,2,False,23.3,51
+208,False,0,23,952,33,2,False,18.2,24
+209,False,0,24,1025,59,2,False,16.2,57
+210,False,0,33,954,57,2,False,27.3,33
+211,False,0,57,782,62,3,False,29.0,35
+212,False,0,48,899,58,2,False,26.9,60
+213,True,1,26,896,62,2,False,23.7,41
+214,True,1,22,1080,93,3,False,30.7,23
+215,True,1,24,1000,31,1,False,25.1,72
+216,False,0,26,1000,55,4,False,25.6,14
+217,True,1,32,875,46,2,False,29.2,56
+218,False,0,75,501,26,3,False,20.8,62
+219,True,1,22,999,37,4,False,27.4,39
+220,True,1,28,995,73,5,False,29.9,54
+221,False,0,42,877,66,2,False,22.3,54
+222,True,1,50,573,31,6,True,19.9,62
+223,False,0,72,606,51,4,False,24.3,54
+224,False,0,34,906,56,4,False,22.5,44
+225,False,0,54,859,58,1,False,28.3,60
+226,True,1,22,878,32,2,False,17.1,59
+227,False,0,47,754,16,3,False,27.1,35
+228,True,1,41,529,26,3,False,18.5,28
+229,False,0,62,724,41,4,False,27.9,50
+230,False,0,46,873,53,5,False,28.3,44
+231,True,1,28,821,52,3,False,24.9,34
+232,True,1,22,983,66,3,False,20.9,49
+233,True,1,17,1133,69,3,False,26.6,29
+234,False,0,41,889,53,1,False,25.0,50
+235,True,1,19,1082,78,2,False,24.1,39
+236,True,1,29,695,19,2,False,16.0,61
+237,False,0,35,1060,72,2,False,24.4,81
+238,False,0,32,840,41,4,False,20.3,35
+239,True,1,19,1121,76,2,False,21.9,62
+240,True,1,17,1206,76,4,False,24.5,59
+241,True,1,43,550,24,3,False,17.6,47
+242,True,1,22,999,89,3,False,20.8,41
+243,False,0,54,818,52,2,False,23.9,70
+244,False,0,28,909,63,3,False,20.7,20
+245,True,1,15,1231,82,2,False,25.6,39
+246,False,0,39,865,34,4,False,29.0,28
+247,True,1,13,1340,65,2,False,22.6,67
+248,False,0,46,855,66,6,False,24.8,45
+249,True,1,19,1061,45,6,False,25.2,40
+250,False,0,68,765,70,4,False,22.8,92
+251,True,1,61,523,16,2,False,27.9,47
+252,True,1,13,1232,76,2,False,19.4,41
+253,False,0,68,705,53,3,False,28.1,52
+254,True,1,16,1155,75,2,False,24.6,26
+255,False,0,57,724,51,3,False,22.2,54
+256,False,0,30,993,45,4,False,26.7,46
+257,False,0,44,784,46,2,False,19.2,54
+258,False,0,54,687,21,2,False,25.6,34
+259,False,0,20,1255,69,3,False,28.1,33
+260,False,0,29,953,58,5,False,22.3,38
+261,True,1,19,935,43,5,False,18.4,37
+262,True,1,43,776,40,5,False,27.7,66
+263,False,0,44,999,89,3,False,26.3,70
+264,True,1,38,637,9,6,True,22.7,45
+265,False,0,36,1041,78,3,False,30.9,43
+266,False,0,74,541,42,3,False,24.6,43
+267,False,0,43,816,43,2,False,22.3,49
+268,True,1,26,994,73,2,False,28.3,49
+269,False,0,45,919,81,1,False,25.6,52
+270,True,1,21,966,39,3,False,25.0,37
+271,False,0,32,900,50,5,False,22.7,36
+272,False,0,46,773,32,1,False,19.3,64
+273,False,0,52,876,61,1,False,31.4,40
+274,True,1,30,799,34,2,False,23.8,52
+275,True,1,13,1281,64,4,False,24.2,47
+276,False,0,29,872,49,4,False,18.3,34
+277,False,0,36,923,32,6,False,25.6,56
+278,True,1,25,923,35,3,False,25.4,50
+279,True,1,25,1127,95,1,False,29.8,67
+280,True,1,25,933,54,3,False,24.3,49
+281,True,1,24,884,49,4,False,20.7,43
+282,True,1,17,1083,54,2,False,18.7,51
+283,True,1,22,918,53,2,False,22.3,31
+284,True,1,10,1353,80,2,False,20.1,36
+285,False,0,61,788,33,1,False,31.4,55
+286,False,0,42,869,35,2,False,27.8,43
+287,True,1,17,1215,61,1,False,29.0,47
+288,False,0,29,995,61,2,False,23.3,46
+289,False,0,43,864,31,1,False,29.2,39
+290,False,0,34,780,29,3,False,21.7,19
+291,False,0,57,691,33,2,False,22.7,52
+292,False,0,87,397,15,1,False,27.0,58
+293,True,1,12,1376,81,1,False,30.0,30
+294,False,0,34,996,59,5,False,23.3,68
+295,True,1,21,947,57,4,False,17.3,53
+296,True,1,17,1246,74,4,False,24.8,66
+297,False,0,23,1156,50,6,False,29.8,34
+298,False,0,35,967,41,1,False,27.9,50
+299,True,1,20,951,48,1,False,18.9,46
+300,True,1,18,1088,67,4,False,18.7,58
+301,False,0,30,1013,80,4,False,25.2,40
+302,True,1,42,696,34,1,False,26.1,47
+303,False,0,36,833,33,4,False,25.8,23
+304,False,0,55,663,53,4,False,20.3,37
+305,False,0,39,909,49,3,False,25.7,49
+306,False,0,26,1009,72,3,False,19.5,38
+307,True,1,19,1016,59,2,False,20.1,47
+308,False,0,30,1066,81,1,False,28.1,41
+309,True,1,43,795,55,3,False,29.6,56
+310,False,0,35,849,33,3,False,18.1,64
+311,False,0,29,1018,80,2,False,24.5,36
+312,False,0,27,991,44,3,False,22.1,43
+313,False,0,56,778,35,4,False,25.0,68
+314,True,1,18,1000,56,1,False,22.6,17
+315,True,1,30,708,46,2,False,18.2,43
+316,False,0,86,442,28,4,False,24.8,76
+317,False,0,63,782,47,4,False,25.8,78
+318,False,0,27,1105,63,2,False,27.6,50
+319,False,0,27,1070,52,2,False,28.9,36
+320,True,1,45,617,25,4,False,23.2,50
+321,True,1,33,684,18,4,False,22.9,38
+322,True,1,26,945,65,2,False,20.9,68
+323,True,1,10,1398,100,2,False,21.7,36
+324,True,1,20,1058,56,4,False,24.2,53
+325,False,0,75,613,27,1,False,29.9,56
+326,False,0,42,788,23,1,False,24.6,37
+327,True,1,24,1005,63,9,False,24.0,60
+328,False,0,41,692,26,1,False,17.1,37
+329,False,0,67,773,60,2,False,30.6,56
+330,False,0,41,863,43,5,False,21.7,63
+331,False,0,33,918,55,3,False,24.6,34
+332,False,0,50,768,54,2,False,18.8,63
+333,False,0,47,790,41,4,False,24.9,41
+334,True,1,42,713,38,4,False,26.2,52
+335,True,1,18,1174,67,2,False,25.9,50
+336,False,0,26,941,43,3,False,17.5,42
+337,False,0,29,1000,57,4,False,22.6,51
+338,False,0,28,845,21,3,False,19.7,30
+339,False,0,35,952,39,3,False,28.1,46
+340,True,1,19,1217,90,6,False,27.9,59
+341,False,0,46,708,34,3,False,23.8,17
+342,False,0,23,1052,61,1,False,21.6,27
+343,False,0,57,546,24,3,False,17.8,31
+344,False,0,41,752,33,2,False,22.8,25
+345,False,0,37,1011,49,3,False,30.7,53
+346,False,0,47,808,17,2,False,30.8,34
+347,False,0,25,932,54,6,False,19.4,17
+348,False,0,57,760,30,2,False,30.9,39
+349,False,0,33,964,46,2,False,27.4,42
+350,False,0,26,1078,71,3,False,20.9,60
+351,False,0,21,1134,81,2,False,19.9,32
+352,True,1,36,806,45,6,False,25.1,64
+353,False,0,47,797,28,3,False,24.6,53
+354,False,0,45,842,20,2,False,27.6,53
+355,False,0,24,949,27,3,False,18.3,36
+356,False,0,55,785,51,7,False,21.3,75
+357,False,0,66,688,39,3,False,29.2,45
+358,True,1,19,1000,81,3,False,20.2,22
+359,False,0,67,507,15,2,False,20.1,45
+360,True,1,21,1027,51,4,False,29.9,21
+361,False,0,53,774,43,2,False,26.8,43
+362,True,1,20,1117,72,2,False,28.5,42
+363,False,0,43,964,43,5,False,31.1,57
+364,True,1,48,679,32,2,False,25.9,62
+365,False,0,40,927,61,2,False,28.2,37
+366,False,0,43,848,47,4,False,21.9,59
+367,True,1,23,1134,85,2,False,27.7,68
+368,False,0,44,914,62,1,False,30.3,37
+369,True,1,22,1019,56,3,False,26.7,38
+370,True,1,28,879,49,3,False,25.1,57
+371,False,0,26,1087,63,3,False,24.3,50
+372,False,0,47,802,42,2,False,22.6,55
+373,True,1,25,815,19,5,False,16.5,67
+374,False,0,53,857,68,3,False,27.6,53
+375,False,0,55,896,51,3,False,32.0,62
+376,True,1,27,911,40,6,False,25.6,56
+377,False,0,46,880,40,4,False,28.6,54
+378,False,0,35,839,49,2,False,17.4,53
+379,False,0,39,968,41,2,False,27.5,66
+380,False,0,27,920,51,6,False,18.8,34
+381,True,1,15,1178,79,3,False,22.7,32
+382,True,1,32,756,44,4,False,20.6,56
+383,True,1,20,941,29,2,False,20.5,46
+384,False,0,32,1061,54,4,False,31.2,49
+385,False,0,29,1020,56,3,False,22.9,58
+386,True,1,45,605,22,5,True,21.1,58
+387,False,0,51,850,40,2,False,31.4,44
+388,False,0,59,655,21,2,False,24.7,43
+389,False,0,30,939,36,1,False,23.0,49
+390,False,0,65,758,50,2,False,28.2,62
+391,True,1,14,1277,60,6,False,25.6,54
+392,False,0,63,776,64,2,False,25.8,68
+393,True,1,29,936,62,4,False,30.4,47
+394,False,0,63,686,50,4,False,22.1,63
+395,True,1,23,1083,70,1,False,27.4,60
+396,True,1,26,819,59,2,False,16.6,56
+397,False,0,57,624,36,2,False,17.5,53
+398,False,0,52,629,15,1,False,19.2,44
+399,False,0,30,1031,65,1,False,27.1,46
+400,False,0,36,999,65,7,False,27.6,51
+401,True,1,53,509,22,7,True,21.1,48
+402,True,1,19,1035,54,2,False,18.1,61
+403,True,1,48,707,51,5,False,28.9,46
+404,True,1,17,1062,67,3,False,18.2,47
+405,False,0,24,1121,60,2,False,25.8,41
+406,False,0,51,693,43,3,False,19.3,46
+407,False,0,48,834,61,4,False,25.1,47
+408,False,0,28,992,37,1,False,31.4,15
+409,False,0,37,853,53,2,False,24.1,29
+410,False,0,65,673,37,4,False,27.2,47
+411,False,0,35,952,53,2,False,26.9,44
+412,False,0,26,1084,62,4,False,28.3,31
+413,False,0,23,1118,75,2,False,26.8,20
+414,False,0,60,784,42,3,False,31.9,43
+415,False,0,28,1065,59,2,False,24.2,57
+416,True,1,19,1061,67,2,False,16.2,72
+417,False,0,78,462,12,6,True,25.1,47
+418,False,0,58,782,58,2,False,23.5,68
+419,False,0,54,779,45,3,False,26.4,49
+420,True,1,23,1038,83,1,False,24.8,49
+421,True,1,26,1036,77,3,False,29.5,52
+422,False,0,48,814,54,3,False,26.4,35
+423,False,0,26,1181,77,3,False,29.6,47
+424,False,0,64,736,44,2,False,27.1,60
+425,False,0,28,1024,57,5,False,26.8,37
+426,False,0,43,889,51,3,False,27.6,43
+427,False,0,42,714,20,2,False,21.1,32
+428,False,0,52,680,12,2,False,21.6,53
+429,False,0,76,557,18,2,False,28.0,54
+430,True,1,56,550,39,5,True,21.7,57
+431,False,0,28,1051,76,6,False,27.3,31
+432,False,0,57,739,31,3,False,26.9,49
+433,False,0,22,1039,51,2,False,18.4,34
+434,True,1,11,1357,87,8,False,20.4,48
+435,True,1,26,1096,78,2,False,30.7,66
+436,False,0,31,861,43,3,False,19.2,41
+437,False,0,63,738,51,1,False,26.7,58
+438,False,0,18,1312,71,3,False,27.8,37
+439,False,0,28,1102,63,1,False,29.8,41
+440,False,0,74,608,42,2,False,26.7,54
+441,False,0,43,838,42,2,False,26.4,38
+442,False,0,25,1031,56,3,False,23.9,24
+443,False,0,37,913,44,4,False,22.3,65
+444,False,0,44,840,48,2,False,23.6,53
+445,True,1,13,1200,70,5,False,18.0,39
+446,False,0,29,903,55,4,False,22.3,20
+447,False,0,29,1099,67,4,False,23.9,74
+448,False,0,56,961,68,2,False,28.4,95
+449,False,0,34,977,73,2,False,24.2,51
+450,False,0,25,1018,57,3,False,16.1,59
+451,True,1,25,879,36,3,False,19.4,65
+452,False,0,27,1071,48,2,False,29.5,38
+453,True,1,19,967,42,2,False,17.9,43
+454,False,0,24,1018,71,1,False,21.0,23
+455,True,1,26,901,44,2,False,26.7,37
+456,True,1,50,676,36,5,True,27.7,56
+457,False,0,42,872,64,4,False,24.4,44
+458,True,1,27,750,31,4,False,18.9,45
+459,False,0,71,588,29,2,False,26.8,46
+460,False,0,28,934,46,1,False,23.7,22
+461,False,0,61,716,19,6,False,27.3,59
+462,False,0,25,991,60,3,False,20.1,27
+463,True,1,30,778,62,3,False,20.8,45
+464,False,0,34,811,45,2,False,17.3,41
+465,False,0,34,955,78,3,False,22.8,45
+466,False,0,84,449,13,2,False,26.1,68
+467,True,1,19,1021,52,2,False,21.9,39
+468,False,0,66,596,57,4,False,21.7,37
+469,False,0,25,1137,74,2,False,30.1,26
+470,False,0,37,759,20,4,False,19.9,36
+471,True,1,27,916,64,1,False,29.1,31
+472,False,0,37,967,94,4,False,21.9,53
+473,False,0,40,918,72,3,False,26.8,36
+474,True,1,31,808,18,4,False,27.6,52
+475,False,0,36,813,56,3,False,16.6,46
+476,False,0,32,887,65,3,False,22.0,28
+477,True,1,16,1127,72,3,False,20.3,37
+478,True,1,43,678,53,1,False,20.5,60
+479,False,0,28,1183,65,2,False,31.3,60
+480,True,1,53,537,34,4,False,15.8,76
+481,True,1,18,1170,61,2,False,28.6,48
+482,False,0,51,591,27,4,False,17.8,27
+483,False,0,36,877,29,2,False,26.6,37
+484,False,0,48,782,53,4,False,21.1,53
+485,False,0,33,1130,87,5,False,27.8,74
+486,False,0,55,799,42,1,False,28.8,49
+487,False,0,64,789,59,1,False,28.6,64
+488,True,1,19,1067,57,4,False,21.9,58
+489,True,1,17,1188,82,3,False,27.5,31
+490,False,0,52,823,35,4,False,30.2,45
+491,False,0,27,986,27,6,False,19.4,66
+492,False,0,67,646,41,1,False,23.5,60
+493,False,0,62,575,46,3,False,15.7,54
+494,False,0,51,806,37,4,False,26.1,54
+495,True,1,27,841,46,1,False,24.1,41
+496,True,1,22,815,7,7,False,20.3,29
+497,False,0,59,884,61,2,False,31.5,66
+498,False,0,58,677,35,1,False,26.8,28
+499,False,0,35,804,31,4,False,21.1,34
+500,False,0,23,1228,78,4,False,26.2,56
+501,False,0,27,924,38,2,False,21.7,30
+502,False,0,45,685,35,2,False,16.9,40
+503,True,1,12,1222,79,2,False,17.4,31
+504,True,1,18,1077,62,1,False,19.4,56
+505,False,0,27,1060,59,2,False,23.3,54
+506,True,1,24,953,47,2,False,23.7,54
+507,False,0,44,710,31,3,False,16.1,54
+508,False,0,25,1155,61,3,False,26.7,55
+509,False,0,27,1059,48,5,False,23.8,57
+510,False,0,26,946,60,2,False,20.7,20
+511,True,1,28,951,67,3,False,28.8,46
+512,False,0,32,895,49,1,False,19.8,49
+513,True,1,16,1257,53,5,False,27.9,58
+514,False,0,23,1184,71,2,False,28.3,31
+515,False,0,34,900,53,4,False,23.1,41
+516,False,0,42,786,30,2,False,24.6,33
+517,False,0,48,950,60,3,False,30.3,62
+518,False,0,24,1105,66,4,False,19.1,65
+519,True,1,20,1045,79,1,False,19.2,59
+520,True,1,34,696,37,4,False,23.8,31
+521,True,1,25,931,58,2,False,23.0,54
+522,True,1,31,682,25,2,False,15.6,64
+523,False,0,52,915,71,2,False,31.1,50
+524,False,0,32,961,52,1,False,26.2,40
+525,False,0,26,911,54,3,False,16.4,32
+526,False,0,46,789,38,4,False,25.1,38
+527,False,0,50,762,35,5,False,21.9,58
+528,True,1,19,1125,72,1,False,26.3,42
+529,True,1,55,658,34,7,True,30.8,51
+530,False,0,62,743,49,2,False,24.9,66
+531,True,1,61,625,28,5,True,31.6,56
+532,True,1,21,1119,63,4,False,25.3,67
+533,False,0,53,531,21,3,False,15.9,24
+534,True,1,14,1184,77,4,False,19.3,44
+535,False,0,56,708,47,1,False,22.4,49
+536,False,0,25,1066,58,4,False,20.1,56
+537,True,1,32,683,15,2,False,24.3,31
+538,False,0,90,413,41,4,False,29.8,59
+539,False,0,53,811,43,3,False,27.6,52
+540,True,1,19,1198,75,2,False,28.5,51
+541,True,1,62,538,19,4,False,27.8,55
+542,False,0,60,618,27,1,False,21.3,46
+543,True,1,17,1101,58,4,False,18.4,61
+544,False,0,23,1223,67,2,False,26.6,57
+545,False,0,39,1049,91,4,False,30.9,46
+546,False,0,77,519,29,6,True,23.5,62
+547,False,0,58,759,50,1,False,26.1,52
+548,True,1,15,1169,83,4,False,17.1,57
+549,True,1,26,766,55,4,False,16.4,39
+550,True,1,20,1140,77,2,False,24.0,70
+551,False,0,51,727,36,2,False,22.2,48
+552,False,0,54,869,66,2,False,28.1,59
+553,False,0,47,834,65,3,False,23.7,46
+554,True,1,29,743,55,5,False,17.9,44
+555,True,1,11,1402,100,3,False,21.1,59
+556,False,0,35,900,65,3,False,24.9,25
+557,True,1,22,934,47,3,False,19.3,54
+558,False,0,67,585,24,3,False,22.3,53
+559,False,0,20,1160,71,3,False,26.3,10
+560,False,0,26,1035,58,1,False,20.1,53
+561,False,0,22,1117,51,1,False,28.5,17
+562,True,1,18,1016,51,5,False,16.9,57
+563,True,1,16,1177,86,4,False,21.2,41
+564,False,0,42,879,58,2,False,26.3,38
+565,True,1,29,763,35,3,False,21.4,48
+566,True,1,13,1469,99,3,False,27.7,67
+567,True,1,27,852,63,2,False,22.6,39
+568,True,1,29,838,50,4,False,23.8,55
+569,True,1,14,1321,98,3,False,24.4,52
+570,False,0,75,516,32,5,True,27.3,31
+571,False,0,46,648,33,3,False,18.4,23
+572,True,1,14,1123,64,5,False,20.8,20
+573,True,1,15,1226,86,3,False,19.7,55
+574,False,0,25,977,47,3,False,18.2,47
+575,True,1,25,1078,81,6,False,26.4,73
+576,False,0,54,805,64,4,False,24.4,56
+577,False,0,57,836,33,3,False,31.8,59
+578,False,0,29,1074,54,1,False,26.0,66
+579,False,0,59,649,34,3,False,23.1,41
+580,False,0,38,949,48,3,False,27.0,55
+581,False,0,51,790,35,5,False,24.5,60
+582,True,1,20,1134,60,4,False,25.9,67
+583,True,1,52,569,49,4,False,19.1,58
+584,False,0,43,796,50,2,False,18.9,53
+585,True,1,23,985,53,5,False,28.4,35
+586,False,0,22,1121,66,2,False,18.7,58
+587,False,0,58,763,41,2,False,26.9,55
+588,True,1,28,788,38,3,False,18.8,56
+589,True,1,38,690,41,6,True,20.7,54
+590,False,0,24,1064,64,3,False,19.8,45
+591,True,1,31,910,64,3,False,30.7,47
+592,True,1,30,848,54,1,False,24.0,57
+593,True,1,47,578,33,6,True,20.7,50
+594,True,1,28,795,42,1,False,23.0,36
+595,False,0,40,751,36,1,False,17.7,44
+596,False,0,47,855,65,5,False,28.5,29
+597,False,0,36,897,49,3,False,26.1,34
+598,True,1,22,1024,62,2,False,25.8,46
+599,True,1,15,1142,85,5,False,20.1,22
+600,False,0,28,962,48,1,False,25.1,24
+601,False,0,45,837,21,2,False,25.2,63
+602,False,0,50,777,37,4,False,26.4,40
+603,False,0,38,743,41,2,False,19.7,22
+604,True,1,26,779,26,2,False,18.7,46
+605,True,1,46,684,32,2,False,24.1,66
+606,False,0,34,860,37,4,False,18.7,57
+607,False,0,26,1094,52,2,False,25.7,54
+608,False,0,47,796,34,4,False,21.7,64
+609,False,0,51,719,45,2,False,22.8,37
+610,True,1,25,951,58,2,False,23.2,58
+611,False,0,26,1065,68,3,False,24.1,39
+612,True,1,37,665,27,1,False,21.2,48
+613,False,0,46,938,52,1,False,26.0,79
+614,False,0,47,750,42,7,False,18.1,61
+615,True,1,16,1163,65,3,False,20.9,58
+616,False,0,27,967,56,4,False,21.2,32
+617,True,1,23,902,60,5,False,19.8,37
+618,True,1,28,1090,80,4,False,30.7,80
+619,False,0,38,802,46,6,False,20.9,32
+620,False,0,27,1019,54,1,False,22.6,51
+621,False,0,61,742,8,5,False,30.6,60
+622,True,1,28,851,34,5,False,23.6,62
+623,False,0,33,923,45,4,False,20.3,63
+624,False,0,27,963,53,2,False,18.4,45
+625,False,0,21,1243,76,1,False,28.2,36
+626,False,0,27,1050,68,2,False,23.1,43
+627,False,0,50,691,37,2,False,21.3,35
+628,False,0,46,818,36,4,False,23.9,56
+629,False,0,35,974,55,2,False,23.8,63
+630,True,1,53,576,23,2,False,19.5,77
+631,True,1,28,965,61,4,False,30.3,53
+632,False,0,22,1096,61,4,False,22.0,35
+633,True,1,19,1091,44,3,False,24.6,62
+634,True,1,46,724,30,4,False,28.3,60
+635,True,1,23,959,48,1,False,24.2,44
+636,True,1,27,834,48,2,False,25.7,26
+637,False,0,24,1132,56,6,False,23.8,58
+638,False,0,48,969,83,4,False,28.6,63
+639,True,1,28,820,54,4,False,21.9,43
+640,True,1,17,1164,78,3,False,21.8,55
+641,True,1,26,795,49,3,False,18.2,44
+642,True,1,27,913,44,4,False,25.9,57
+643,True,1,16,1254,72,5,False,29.3,46
+644,True,1,17,1036,58,2,False,17.9,43
+645,False,0,23,1193,83,1,False,24.6,49
+646,False,0,43,938,46,3,False,31.8,44
+647,True,1,19,938,40,4,False,18.6,39
+648,False,0,63,762,51,1,False,30.8,43
+649,False,0,35,1014,54,2,False,30.4,47
+650,True,1,21,1036,48,3,False,25.5,51
+651,True,1,41,737,40,4,False,23.3,69
+652,False,0,28,803,17,5,False,17.5,29
+653,False,0,29,993,63,3,False,22.9,45
+654,True,1,18,1074,59,3,False,19.1,56
+655,True,1,50,674,33,4,False,24.4,72
+656,False,0,46,709,23,5,False,18.4,54
+657,False,0,35,994,62,5,False,27.6,47
+658,False,0,40,880,61,1,False,23.8,43
+659,False,0,64,718,32,3,False,29.1,53
+660,False,0,53,763,44,2,False,22.1,61
+661,True,1,24,853,43,4,False,18.7,45
+662,False,0,77,399,17,4,False,18.6,50
+663,True,1,30,875,54,1,False,27.6,51
+664,False,0,32,1004,37,4,False,27.7,58
+665,True,1,25,999,64,2,False,25.3,63
+666,False,0,38,846,47,1,False,20.1,52
+667,True,1,24,942,53,5,False,23.1,47
+668,True,1,23,998,71,2,False,20.4,67
+669,False,0,71,550,34,3,False,22.6,50
+670,False,0,25,1036,46,2,False,17.7,70
+671,True,1,27,941,64,1,False,27.7,47
+672,False,0,24,1041,45,3,False,19.1,56
+673,False,0,71,512,31,1,False,24.8,26
+674,True,1,21,989,75,2,False,18.9,46
+675,True,1,19,1137,67,3,False,26.9,47
+676,False,0,47,696,34,3,False,19.8,37
+677,False,0,29,954,52,4,False,23.9,33
+678,False,0,33,928,45,2,False,21.1,61
+679,True,1,56,612,29,3,False,27.0,60
+680,True,1,22,878,45,3,False,19.7,29
+681,False,0,47,652,8,4,False,16.5,54
+682,False,0,24,1079,50,4,False,25.3,32
+683,True,1,19,1144,78,4,False,28.7,33
+684,False,0,39,853,45,5,False,21.3,55
+685,True,1,25,1006,77,6,False,29.1,38
+686,True,1,28,798,43,3,False,17.8,61
+687,False,0,36,840,37,3,False,20.8,48
+688,False,0,41,1030,85,2,False,29.6,55
+689,False,0,21,1036,47,3,False,16.6,40
+690,False,0,46,820,58,2,False,25.9,32
+691,False,0,50,803,47,1,False,22.7,60
+692,False,0,30,955,63,3,False,20.1,51
+693,True,1,20,990,42,3,False,22.6,44
+694,True,1,19,1065,56,2,False,22.0,49
+695,False,0,51,793,50,2,False,21.2,66
+696,False,0,32,861,19,3,False,24.0,38
+697,False,0,51,759,57,2,False,23.6,37
+698,False,0,34,931,49,1,False,25.8,39
+699,False,0,53,569,18,3,False,18.6,25
+700,True,1,24,895,34,2,False,19.8,59
+701,False,0,27,1066,95,4,False,19.6,50
+702,True,1,26,918,51,2,False,24.3,51
+703,False,0,22,1265,75,1,False,29.3,47
+704,True,1,29,654,22,5,True,16.8,40
+705,True,1,16,1131,58,2,False,23.9,36
+706,False,0,37,1050,53,3,False,31.8,60
+707,True,1,27,812,43,3,False,25.3,28
+708,False,0,48,844,45,2,False,26.2,54
+709,True,1,20,1031,65,2,False,23.4,37
+710,False,0,66,580,20,3,False,22.2,52
+711,False,0,52,667,37,3,False,20.5,37
+712,True,1,27,934,64,3,False,28.1,40
+713,False,0,28,1045,45,3,False,22.6,72
+714,True,1,37,844,45,4,False,29.9,57
+715,False,0,61,579,29,3,False,24.9,18
+716,True,1,31,841,62,2,False,24.8,49
+717,True,1,16,1158,69,1,False,22.8,41
+718,False,0,55,639,54,1,False,19.0,32
+719,False,0,22,1188,63,7,False,24.0,51
+720,False,0,56,767,27,1,False,28.8,49
+721,False,0,24,1180,63,3,False,28.7,43
+722,True,1,23,1005,51,4,False,20.5,75
+723,False,0,22,1053,61,4,False,22.1,16
+724,True,1,18,1125,86,5,False,18.8,59
+725,False,0,21,1315,87,3,False,29.5,44
+726,False,0,52,794,36,4,False,25.9,57
+727,False,0,28,968,64,4,False,20.7,41
+728,False,0,35,1070,87,3,False,31.9,39
+729,False,0,47,751,22,4,False,28.1,24
+730,True,1,33,799,34,1,False,28.3,45
+731,True,1,24,962,50,3,False,19.2,82
+732,False,0,34,861,23,5,False,19.9,61
+733,False,0,44,951,56,3,False,26.8,71
+734,False,0,59,820,57,5,False,28.6,60
+735,True,1,26,820,36,2,False,17.3,64
+736,True,1,21,1171,77,2,False,28.3,60
+737,False,0,77,495,27,4,False,23.0,54
+738,True,1,17,1084,75,7,False,19.7,39
+739,False,0,72,613,19,2,False,31.7,40
+740,True,1,19,1037,48,1,False,26.1,25
+741,False,0,25,1141,78,7,False,25.5,48
+742,True,1,29,945,54,2,False,28.8,60
+743,False,0,26,1130,74,1,False,23.3,62
+744,True,1,26,968,48,3,False,28.7,49
+745,False,0,29,948,64,2,False,21.2,40
+746,False,0,62,898,49,3,False,30.4,94
+747,False,0,35,1020,64,4,False,27.5,58
+748,False,0,41,753,18,1,False,15.9,67
+749,False,0,49,807,40,4,False,27.1,43
+750,True,1,24,826,53,6,False,15.8,47
+751,True,1,14,1204,58,2,False,20.2,54
+752,False,0,26,1102,88,2,False,17.1,71
+753,True,1,26,785,44,2,False,18.5,43
+754,True,1,20,1064,76,1,False,19.8,60
+755,False,0,32,949,36,3,False,31.7,18
+756,True,1,23,1015,71,3,False,26.3,41
+757,True,1,29,849,41,3,False,29.8,30
+758,True,1,31,798,29,5,False,23.3,63
+759,False,0,56,836,65,1,False,29.9,45
+760,False,0,23,1126,71,2,False,22.8,42
+761,True,1,23,921,54,3,False,17.2,67
+762,False,0,49,745,47,2,False,17.4,63
+763,False,0,43,744,26,3,False,22.1,35
+764,True,1,28,920,58,3,False,26.8,54
+765,True,1,45,710,54,3,False,30.1,30
+766,False,0,30,976,57,2,False,25.2,41
+767,False,0,43,954,56,2,False,26.2,70
+768,False,0,31,1047,75,3,False,23.1,68
+769,False,0,44,992,58,4,False,31.1,63
+770,True,1,49,495,5,3,False,21.6,40
+771,True,1,25,691,24,5,True,17.1,21
+772,False,0,20,1119,61,4,False,20.4,31
+773,False,0,44,928,44,3,False,28.7,61
+774,False,0,44,717,22,4,False,19.9,44
+775,True,1,25,771,49,1,False,20.4,17
+776,False,0,80,383,6,2,False,22.4,45
+777,False,0,71,558,13,2,False,21.8,67
+778,False,0,42,903,44,3,False,26.3,57
+779,True,1,29,685,26,3,False,19.3,36
+780,False,0,50,598,25,4,False,18.0,26
+781,False,0,42,876,64,2,False,25.8,36
+782,False,0,43,960,47,4,False,32.1,48
+783,False,0,26,1153,55,1,False,28.2,60
+784,False,0,23,992,68,3,False,17.8,20
+785,True,1,31,782,33,4,False,21.8,62
+786,True,1,22,1046,70,3,False,25.2,48
+787,False,0,41,851,41,2,False,22.4,56
+788,False,0,36,845,61,1,False,22.6,24
+789,True,1,51,432,13,2,False,17.6,38
+790,True,1,53,644,28,5,True,31.3,41
+791,True,1,37,689,44,5,True,18.1,62
+792,True,1,16,1274,79,3,False,25.2,62
+793,False,0,68,724,46,2,False,30.3,54
+794,False,0,77,431,12,3,False,17.9,70
+795,False,0,51,661,18,4,False,20.9,40
+796,False,0,39,984,66,3,False,26.3,62
+797,False,0,75,480,26,1,False,21.9,47
+798,False,0,55,839,59,2,False,31.4,38
+799,False,0,32,999,51,2,False,24.7,61
+800,False,0,52,880,60,2,False,26.6,67
+801,False,0,43,877,78,3,False,20.3,60
+802,False,0,26,1016,70,2,False,19.8,40
+803,True,1,27,915,52,1,False,28.5,41
+804,True,1,29,895,55,1,False,24.4,67
+805,False,0,43,774,38,2,False,19.6,53
+806,True,1,25,938,57,6,False,22.4,59
+807,False,0,28,974,52,3,False,22.1,43
+808,True,1,22,1059,64,3,False,23.6,65
+809,False,0,35,855,54,4,False,21.1,36
+810,False,0,47,914,38,3,False,30.8,56
+811,False,0,33,856,34,1,False,22.3,36
+812,True,1,15,1078,47,4,False,23.9,13
+813,True,1,24,795,54,2,False,17.6,29
+814,True,1,11,1404,87,5,False,22.8,50
+815,True,1,27,792,39,4,False,16.7,60
+816,False,0,31,871,70,2,False,20.2,23
+817,False,0,48,650,34,2,False,18.6,30
+818,False,0,59,796,51,1,False,25.4,72
+819,False,0,28,974,48,3,False,23.4,42
+820,False,0,66,657,43,3,False,24.7,55
+821,True,1,29,919,79,4,False,28.6,40
+822,True,1,13,1293,86,2,False,23.4,43
+823,False,0,56,760,39,3,False,26.9,49
+824,True,1,22,972,70,7,False,19.8,48
+825,False,0,34,881,47,4,False,21.3,45
+826,False,0,15,1392,89,1,False,22.3,41
+827,False,0,56,499,28,3,False,18.4,5
+828,True,1,27,995,52,1,False,26.5,74
+829,False,0,68,527,19,2,False,16.1,73
+830,False,0,29,1021,56,4,False,29.0,32
+831,True,1,26,870,48,1,False,22.8,45
+832,True,1,16,1202,70,4,False,21.4,67
+833,True,1,22,899,38,3,False,16.4,62
+834,False,0,44,958,68,4,False,26.7,65
+835,False,0,52,797,32,3,False,31.1,33
+836,False,0,41,956,51,3,False,23.4,84
+837,True,1,17,1203,61,4,False,31.8,32
+838,False,0,74,633,37,3,False,28.5,58
+839,False,0,47,768,16,2,False,24.9,50
+840,False,0,51,767,39,1,False,25.6,42
+841,True,1,51,664,47,6,True,28.4,42
+842,False,0,49,723,45,4,False,22.1,34
+843,True,1,21,1058,51,3,False,21.7,70
+844,False,0,37,825,23,1,False,21.5,49
+845,False,0,26,997,55,3,False,18.8,51
+846,False,0,47,861,47,2,False,27.4,51
+847,True,1,23,1034,67,5,False,27.3,42
+848,True,1,16,1170,73,1,False,25.1,32
+849,True,1,14,1311,96,2,False,23.4,51
+850,False,0,53,754,51,1,False,28.9,18
+851,False,0,28,1014,62,2,False,26.0,28
+852,True,1,10,1292,67,4,False,17.9,33
+853,True,1,45,643,28,7,True,27.7,33
+854,True,1,12,1321,97,4,False,18.7,49
+855,False,0,35,961,52,3,False,22.1,70
+856,False,0,28,885,47,3,False,20.2,26
+857,True,1,22,1051,64,6,False,25.3,54
+858,True,1,24,943,66,1,False,20.1,60
+859,True,1,26,828,59,1,False,21.4,34
+860,True,1,20,1061,58,5,False,23.8,47
+861,False,0,64,649,62,3,False,19.3,59
+862,False,0,44,891,47,1,False,28.8,44
+863,False,0,29,1042,77,3,False,24.6,45
+864,False,0,56,857,49,3,False,31.7,52
+865,True,1,17,1185,67,3,False,27.2,47
+866,False,0,26,1069,83,2,False,22.6,40
+867,False,0,25,1008,42,2,False,20.1,46
+868,True,1,20,1002,50,1,False,15.6,74
+869,True,1,20,1109,66,3,False,24.1,60
+870,True,1,24,1003,72,3,False,28.1,35
+871,True,1,15,1046,56,2,False,17.1,30
+872,False,0,29,927,26,2,False,23.0,43
+873,True,1,47,753,41,4,False,28.7,66
+874,False,0,66,604,26,3,False,23.5,52
+875,False,0,39,767,14,5,False,22.0,38
+876,False,0,40,926,79,3,False,21.3,60
+877,True,1,81,336,20,1,False,29.2,46
+878,False,0,26,1036,52,4,False,25.3,32
+879,False,0,23,1129,75,5,False,20.4,54
+880,True,1,29,973,49,3,False,30.0,69
+881,True,1,34,789,45,1,False,25.0,54
+882,False,0,25,1177,73,5,False,28.0,50
+883,False,0,25,1083,77,3,False,22.1,38
+884,False,0,58,671,12,2,False,24.2,56
+885,False,0,57,537,13,4,False,18.3,33
+886,True,1,18,998,48,5,False,21.1,24
+887,True,1,55,587,12,3,False,28.9,47
+888,True,1,29,884,46,2,False,27.8,47
+889,False,0,52,877,53,2,False,24.6,81
+890,False,0,31,954,50,2,False,27.3,31
+891,True,1,25,884,56,3,False,20.4,50
+892,True,1,20,975,59,4,False,15.6,59
+893,True,1,23,1007,58,3,False,23.0,62
+894,True,1,27,798,30,3,False,21.6,47
+895,False,0,24,974,48,4,False,17.5,37
+896,False,0,45,711,31,4,False,18.1,47
+897,False,0,48,798,39,1,False,19.5,75
+898,True,1,51,594,35,2,False,23.0,54
+899,False,0,28,945,51,1,False,24.4,19
+900,True,1,25,990,50,4,False,24.4,68
+901,False,0,44,808,39,5,False,21.4,55
+902,False,0,60,754,40,3,False,29.0,47
+903,False,0,56,752,43,4,False,26.4,47
+904,False,0,41,860,36,3,False,25.7,46
+905,True,1,24,841,31,3,False,17.9,51
+906,True,1,27,820,33,3,False,24.2,41
+907,False,0,21,1113,51,4,False,18.5,51
+908,True,1,28,876,63,5,False,26.9,35
+909,True,1,13,1441,99,4,False,31.2,50
+910,False,0,20,1301,78,1,False,24.3,63
+911,True,1,20,920,29,1,False,15.9,55
+912,True,1,15,1252,71,1,False,22.5,62
+913,False,0,52,711,43,5,False,23.8,32
+914,False,0,43,869,59,3,False,24.0,48
+915,True,1,25,896,49,2,False,20.8,56
+916,False,0,47,719,26,6,False,23.3,33
+917,False,0,39,1001,61,3,False,26.6,69
+918,True,1,24,1034,63,3,False,31.4,33
+919,True,1,20,1046,62,2,False,23.2,50
+920,False,0,34,937,77,2,False,21.0,50
+921,False,0,46,808,59,4,False,21.7,49
+922,False,0,45,889,42,1,False,30.1,45
+923,False,0,36,882,37,2,False,22.2,54
+924,True,1,24,851,56,4,False,20.2,33
+925,False,0,35,829,35,4,False,22.9,30
+926,True,1,16,1286,87,4,False,30.2,38
+927,False,0,80,463,24,2,False,25.4,47
+928,False,0,53,903,64,3,False,28.6,65
+929,True,1,19,1142,67,2,False,23.4,70
+930,True,1,41,721,40,4,False,25.2,52
+931,False,0,31,913,48,5,False,20.2,53
+932,True,1,12,1288,74,2,False,20.8,44
+933,False,0,51,613,24,4,False,15.6,48
+934,True,1,24,809,34,3,False,19.9,28
+935,False,0,51,858,43,6,False,29.8,52
+936,False,0,58,543,11,2,False,17.8,40
+937,True,1,14,1410,87,3,False,30.7,52
+938,True,1,28,682,27,5,True,16.7,43
+939,True,1,19,1170,81,5,False,29.1,38
+940,False,0,40,889,75,1,False,22.6,45
+941,False,0,24,1044,38,6,False,23.0,42
+942,False,0,56,850,51,3,False,29.1,63
+943,True,1,28,954,52,2,False,29.8,51
+944,True,1,28,842,54,3,False,22.3,54
+945,True,1,27,829,30,1,False,27.4,30
+946,False,0,68,658,41,2,False,23.5,69
+947,False,0,36,775,6,2,False,19.5,50
+948,False,0,26,979,60,2,False,19.5,36
+949,False,0,22,1194,80,3,False,22.9,52
+950,False,0,45,853,33,2,False,25.4,60
+951,False,0,37,1013,81,3,False,31.9,28
+952,False,0,69,657,26,2,False,25.4,71
+953,False,0,28,1000,55,6,False,23.4,45
+954,True,1,25,1042,64,1,False,28.7,63
+955,True,1,24,997,61,2,False,26.5,49
+956,True,1,28,931,61,6,False,29.2,43
+957,False,0,28,1069,70,3,False,30.9,22
+958,True,1,21,860,41,1,False,17.7,32
+959,False,0,49,718,30,3,False,21.2,47
+960,True,1,25,849,38,3,False,17.9,59
+961,False,0,28,965,50,3,False,25.3,21
+962,False,0,23,1106,71,3,False,16.1,67
+963,False,0,23,1218,79,3,False,23.4,67
+964,True,1,28,801,52,2,False,23.4,32
+965,False,0,51,725,43,5,False,20.1,54
+966,False,0,34,1003,73,3,False,29.1,33
+967,True,1,18,1054,63,3,False,18.9,46
+968,True,1,32,834,56,1,False,23.7,61
+969,False,0,37,954,53,4,False,25.0,60
+970,True,1,18,971,50,3,False,17.8,36
+971,False,0,22,1209,62,4,False,28.7,42
+972,True,1,30,662,39,1,False,17.6,34
+973,True,1,21,980,51,4,False,21.1,52
+974,True,1,17,1094,64,2,False,23.2,26
+975,False,0,25,959,46,2,False,23.1,11
+976,False,0,42,823,49,3,False,17.7,68
+977,True,1,22,1178,81,6,False,26.8,79
+978,False,0,45,768,38,1,False,22.4,41
+979,False,0,67,622,35,2,False,23.0,58
+980,True,1,24,1017,42,3,False,31.3,48
+981,False,0,38,1021,57,3,False,28.4,68
+982,True,1,19,1021,61,4,False,16.9,55
+983,True,1,78,301,24,5,True,22.8,50
+984,False,0,32,797,16,3,False,22.8,22
+985,False,0,31,981,60,5,False,21.5,63
+986,False,0,31,865,51,4,False,18.2,43
+987,True,1,20,1027,66,2,False,24.9,28
+988,False,0,55,804,39,2,False,30.3,45
+989,False,0,57,803,56,2,False,29.3,46
+990,True,1,24,1060,81,3,False,26.3,62
+991,False,0,62,726,58,1,False,29.5,31
+992,False,0,39,921,59,2,False,27.3,40
+993,True,1,18,1150,79,3,False,20.7,68
+994,False,0,49,819,29,2,False,24.6,67
+995,True,1,30,843,42,3,False,23.8,64
+996,False,0,17,1299,78,4,False,16.2,71
+997,True,1,16,1131,65,3,False,20.5,50
+998,False,0,60,649,21,2,False,25.8,39
+999,False,0,28,990,55,4,False,20.8,55
+1000,False,0,28,1042,37,1,False,25.0,62
+1001,False,0,66,822,67,2,False,27.7,81
+1002,False,0,46,676,32,3,False,21.4,20
+1003,False,0,42,779,62,2,False,16.1,51
+1004,True,1,14,1164,47,4,False,17.2,57
+1005,False,0,45,844,44,4,False,25.9,47
+1006,True,1,15,1107,52,3,False,23.4,26
+1007,False,0,23,1198,69,4,False,24.1,58
+1008,False,0,36,813,16,2,False,23.3,37
+1009,False,0,34,1047,69,1,False,28.7,55
+1010,False,0,47,797,25,3,False,23.6,60
+1011,False,0,31,990,72,3,False,20.2,66
+1012,False,0,53,585,36,2,False,17.4,26
+1013,True,1,16,1288,91,2,False,24.7,63
+1014,False,0,72,628,30,3,False,31.9,37
+1015,False,0,47,733,28,1,False,25.0,30
+1016,False,0,44,928,66,4,False,24.8,66
+1017,False,0,49,788,43,3,False,21.3,64
+1018,False,0,24,1040,54,3,False,20.7,44
+1019,False,0,65,628,31,3,False,22.4,58
+1020,False,0,51,710,48,2,False,21.5,36
+1021,False,0,46,825,52,3,False,24.3,45
+1022,False,0,68,692,46,4,False,29.8,46
+1023,True,1,16,1131,50,3,False,22.5,44
+1024,True,1,27,1041,91,2,False,28.5,58
+1025,True,1,16,1227,62,4,False,22.8,69
+1026,False,0,49,777,43,2,False,24.9,41
+1027,False,0,60,741,55,3,False,26.6,47
+1028,False,0,50,908,54,3,False,27.4,70
+1029,True,1,22,1010,73,2,False,23.6,43
+1030,False,0,25,955,62,3,False,21.6,11
+1031,False,0,25,1050,29,2,False,23.7,55
+1032,True,1,13,1220,70,3,False,21.4,35
+1033,False,0,36,765,53,3,False,16.3,34
+1034,False,0,28,1146,64,1,False,27.8,67
+1035,True,1,32,807,36,3,False,20.2,82
+1036,False,0,31,991,52,3,False,29.2,33
+1037,False,0,68,745,53,2,False,29.3,62
+1038,False,0,79,455,10,3,False,26.4,46
+1039,False,0,49,879,57,3,False,28.8,50
+1040,False,0,59,730,32,3,False,24.7,65
+1041,True,1,15,1159,79,4,False,16.9,51
+1042,False,0,40,824,41,4,False,24.1,36
+1043,True,1,24,1049,69,3,False,29.8,41
+1044,True,1,26,876,46,3,False,21.4,57
+1045,False,0,32,843,36,2,False,24.6,15
+1046,False,0,26,992,39,1,False,18.6,63
+1047,False,0,31,968,68,2,False,26.7,26
+1048,False,0,29,1056,70,1,False,26.1,48
+1049,True,1,28,684,19,5,True,16.3,45
+1050,False,0,49,924,63,7,False,27.8,66
+1051,True,1,18,1195,71,4,False,27.2,50
+1052,False,0,51,768,39,4,False,24.6,49
+1053,False,0,39,819,32,5,False,19.6,57
+1054,False,0,64,711,39,3,False,30.9,36
+1055,False,0,44,798,40,3,False,22.8,45
+1056,False,0,29,1052,59,2,False,24.3,64
+1057,True,1,43,742,27,3,False,29.3,57
+1058,False,0,39,886,44,2,False,28.4,30
+1059,False,0,50,830,47,2,False,25.9,57
+1060,False,0,34,854,49,4,False,22.6,28
+1061,False,0,36,989,52,4,False,31.3,39
+1062,True,1,15,1150,61,2,False,17.1,65
+1063,False,0,54,637,35,2,False,24.3,16
+1064,False,0,53,614,17,2,False,22.4,23
+1065,False,0,27,1009,68,1,False,16.2,66
+1066,True,1,21,888,48,4,False,18.2,36
+1067,False,0,42,824,26,3,False,21.2,65
+1068,True,1,28,761,22,2,False,21.9,45
+1069,False,0,46,975,66,6,False,31.9,54
+1070,False,0,49,733,32,3,False,19.3,59
+1071,False,0,27,1007,47,4,False,24.1,39
+1072,False,0,66,584,14,4,False,25.1,43
+1073,False,0,29,1010,67,5,False,25.0,42
+1074,True,1,19,1131,79,4,False,17.6,87
+1075,False,0,27,1036,60,3,False,22.9,49
+1076,True,1,24,973,35,3,False,27.5,54
+1077,True,1,13,1157,44,2,False,17.2,43
+1078,True,1,15,1084,61,1,False,16.6,44
+1079,False,0,33,1020,51,3,False,26.1,67
+1080,False,0,35,896,49,2,False,23.3,43
+1081,False,0,46,795,29,2,False,25.1,48
+1082,True,1,22,970,51,2,False,22.3,53
+1083,False,0,25,1025,47,2,False,22.0,42
+1084,False,0,53,797,26,3,False,24.1,75
+1085,False,0,34,875,26,4,False,27.1,28
+1086,True,1,37,699,29,2,False,18.1,76
+1087,False,0,29,939,55,1,False,20.3,43
+1088,False,0,35,1052,71,1,False,26.7,67
+1089,False,0,42,750,47,4,False,22.6,20
+1090,False,0,42,912,52,3,False,25.1,61
+1091,True,1,25,920,38,4,False,23.6,60
+1092,False,0,29,955,71,1,False,22.0,30
+1093,False,0,41,765,16,1,False,23.6,37
+1094,False,0,44,786,56,1,False,19.1,50
+1095,False,0,46,875,52,4,False,24.6,64
+1096,True,1,30,817,62,4,False,25.4,37
+1097,False,0,30,1012,49,7,False,28.2,44
+1098,True,1,28,926,44,3,False,25.5,70
+1099,False,0,24,1014,62,2,False,18.7,32
+1100,False,0,63,674,18,2,False,25.7,61
+1101,True,1,32,903,48,4,False,31.2,54
+1102,False,0,49,912,76,4,False,32.0,32
+1103,False,0,15,1379,73,2,False,24.1,38
+1104,False,0,35,1050,77,4,False,27.3,59
+1105,True,1,26,953,72,5,False,25.3,51
+1106,True,1,30,941,59,3,False,27.9,68
+1107,True,1,23,885,45,3,False,20.8,39
+1108,True,1,26,800,57,5,False,21.6,24
+1109,True,1,31,909,47,6,False,29.0,62
+1110,True,1,16,1242,83,3,False,28.4,39
+1111,True,1,16,1072,62,1,False,16.7,49
+1112,False,0,34,942,53,4,False,19.9,72
+1113,False,0,48,730,16,3,False,23.8,44
+1114,False,0,35,970,66,2,False,21.0,69
+1115,False,0,67,503,17,2,False,22.0,32
+1116,True,1,17,1076,56,2,False,16.1,61
+1117,False,0,32,1048,66,3,False,28.1,51
+1118,True,1,20,1082,56,5,False,28.6,37
+1119,True,1,17,1086,68,2,False,22.8,30
+1120,False,0,27,1076,56,3,False,26.8,49
+1121,True,1,31,853,37,2,False,28.9,51
+1122,False,0,66,572,38,2,False,19.7,51
+1123,False,0,63,642,42,4,False,21.4,55
+1124,False,0,41,935,72,2,False,27.5,41
+1125,False,0,28,1088,70,2,False,28.2,40
+1126,True,1,48,679,40,1,False,27.4,51
+1127,False,0,29,961,39,5,False,24.3,40
+1128,False,0,50,924,45,3,False,30.7,65
+1129,False,0,81,536,16,1,False,31.9,50
+1130,True,1,20,1154,89,3,False,28.9,39
+1131,True,1,23,917,72,3,False,22.7,22
+1132,False,0,19,1333,85,4,False,27.9,39
+1133,True,1,22,1054,67,4,False,21.2,76
+1134,False,0,51,714,45,3,False,21.4,40
+1135,False,0,55,757,46,4,False,27.9,36
+1136,False,0,45,789,58,4,False,18.2,57
+1137,True,1,10,1418,90,2,False,20.9,54
+1138,False,0,68,583,22,2,False,22.6,58
+1139,False,0,53,756,55,3,False,23.7,44
+1140,False,0,39,831,45,2,False,17.9,63
+1141,False,0,69,444,19,4,False,19.1,31
+1142,True,1,57,636,45,2,False,29.7,47
+1143,False,0,56,770,43,1,False,29.3,38
+1144,False,0,32,1012,43,6,False,27.8,57
+1145,True,1,20,990,70,2,False,18.1,49
+1146,False,0,63,703,44,2,False,23.6,63
+1147,False,0,49,793,44,3,False,18.7,76
+1148,True,1,19,1177,54,3,False,31.2,50
+1149,False,0,60,591,15,2,False,22.4,40
+1150,False,0,24,955,34,2,False,18.5,36
+1151,True,1,25,828,57,5,False,17.1,44
+1152,False,0,44,854,63,3,False,23.7,47
+1153,True,1,17,1275,82,4,False,25.6,75
+1154,True,1,15,1145,56,5,False,24.0,32
+1155,False,0,19,1092,61,3,False,16.6,32
+1156,False,0,34,777,7,2,False,19.8,42
+1157,False,0,61,778,36,1,False,30.1,56
+1158,False,0,45,762,29,4,False,19.4,59
+1159,True,1,26,952,72,3,False,27.7,35
+1160,False,0,68,586,25,2,False,24.4,49
+1161,False,0,27,956,54,2,False,18.6,47
+1162,False,0,67,657,21,2,False,26.0,64
+1163,True,1,23,1138,81,3,False,29.5,63
+1164,False,0,59,628,29,2,False,21.6,43
+1165,True,1,20,1040,58,1,False,23.7,48
+1166,True,1,19,1210,53,1,False,31.1,57
+1167,True,1,24,866,83,4,False,18.9,24
+1168,False,0,54,805,44,2,False,29.7,43
+1169,True,1,28,920,50,2,False,26.7,56
+1170,False,0,27,1042,41,6,False,27.3,40
+1171,True,1,27,781,35,3,False,20.3,47
+1172,True,1,18,997,50,2,False,17.9,47
+1173,True,1,22,949,45,3,False,23.0,37
+1174,True,1,34,649,32,5,True,20.9,34
+1175,True,1,19,1019,66,2,False,19.9,45
+1176,False,0,52,674,38,3,False,19.8,43
+1177,True,1,30,760,39,4,False,18.9,59
+1178,True,1,33,905,48,2,False,28.9,69
+1179,False,0,61,550,16,1,False,18.4,47
+1180,True,1,43,752,69,3,False,25.4,53
+1181,True,1,20,1066,69,1,False,24.0,47
+1182,True,1,17,1197,80,2,False,23.9,56
+1183,True,1,22,1013,59,4,False,23.8,51
+1184,False,0,28,1025,55,5,False,24.3,51
+1185,False,0,55,781,40,4,False,24.8,63
+1186,False,0,39,815,34,1,False,24.2,34
+1187,False,0,68,729,27,2,False,30.3,68
+1188,True,1,21,958,51,4,False,18.9,52
+1189,True,1,21,985,63,4,False,18.9,50
+1190,True,1,22,947,56,3,False,22.4,40
+1191,False,0,28,892,32,1,False,19.0,45
+1192,True,1,22,919,51,3,False,18.5,53
+1193,False,0,50,574,28,3,False,17.2,19
+1194,True,1,18,1094,53,4,False,25.6,39
+1195,False,0,57,827,51,1,False,29.6,56
+1196,False,0,31,1065,67,2,False,30.2,43
+1197,False,0,21,1124,70,5,False,19.8,36
+1198,True,1,28,853,62,1,False,25.0,39
+1199,True,1,21,994,53,6,False,20.9,51
+1200,False,0,45,703,29,2,False,22.3,25
+1201,True,1,21,1068,71,5,False,22.2,60
+1202,False,0,23,1064,79,5,False,22.7,17
+1203,True,1,23,905,51,3,False,20.4,41
+1204,False,0,56,690,24,4,False,26.2,37
+1205,False,0,34,851,62,3,False,20.1,30
+1206,False,0,37,899,59,7,False,25.9,33
+1207,True,1,29,939,59,1,False,29.4,51
+1208,False,0,22,1020,45,2,False,16.2,46
+1209,False,0,74,477,35,4,False,20.6,43
+1210,True,1,30,712,41,3,False,24.7,15
+1211,False,0,28,938,45,3,False,22.4,29
+1212,False,0,50,793,58,8,False,23.7,46
+1213,False,0,46,743,39,2,False,22.4,35
+1214,True,1,19,1067,70,3,False,23.6,36
+1215,False,0,73,604,29,1,False,26.3,62
+1216,False,0,29,1029,55,4,False,26.2,50
+1217,False,0,32,899,41,2,False,24.6,33
+1218,True,1,24,900,41,4,False,24.3,41
+1219,False,0,36,948,60,2,False,25.9,44
+1220,False,0,28,1047,65,5,False,26.9,38
+1221,True,1,25,863,32,2,False,25.9,34
+1222,False,0,28,1065,90,3,False,22.3,47
+1223,False,0,56,785,44,1,False,26.6,58
+1224,False,0,22,1099,50,5,False,19.8,51
+1225,True,1,16,1088,45,6,False,19.3,45
+1226,False,0,29,1089,92,1,False,25.0,53
+1227,False,0,31,958,47,3,False,22.2,59
+1228,True,1,13,1243,83,2,False,19.2,46
+1229,False,0,29,1034,78,5,False,21.8,54
+1230,True,1,29,757,44,3,False,23.1,32
+1231,False,0,46,912,68,1,False,28.8,44
+1232,True,1,20,1091,71,2,False,27.1,42
+1233,True,1,18,1060,62,2,False,19.6,50
+1234,True,1,27,888,61,3,False,22.7,53
+1235,True,1,27,741,14,2,False,19.1,46
+1236,True,1,24,1022,57,1,False,30.4,37
+1237,False,0,19,1179,59,1,False,22.9,35
+1238,False,0,38,925,34,4,False,27.4,51
+1239,True,1,55,581,32,5,True,22.6,67
+1240,False,0,25,1095,79,2,False,23.1,37
+1241,False,0,47,798,58,1,False,22.7,42
+1242,False,0,39,870,37,2,False,23.7,52
+1243,True,1,21,885,27,3,False,19.9,40
+1244,False,0,53,708,37,3,False,21.6,49
+1245,False,0,25,1111,64,4,False,25.2,47
+1246,True,1,18,1135,67,2,False,27.7,37
+1247,False,0,66,507,13,3,False,16.4,59
+1248,False,0,50,670,27,1,False,16.3,59
+1249,False,0,25,1090,65,2,False,19.9,62
+1250,False,0,53,862,48,4,False,28.0,65
+1251,True,1,25,879,59,4,False,20.8,41
+1252,True,1,21,950,45,3,False,21.1,41
+1253,False,0,43,747,32,3,False,18.2,51
+1254,False,0,57,788,51,1,False,26.3,56
+1255,True,1,25,811,23,2,False,21.6,43
+1256,True,1,23,897,54,5,False,19.7,42
+1257,True,1,22,837,41,1,False,16.8,39
+1258,True,1,15,1334,90,2,False,24.2,68
+1259,True,1,38,723,43,6,False,31.4,13
+1260,False,0,50,752,34,3,False,24.3,45
+1261,False,0,27,1007,63,2,False,20.2,48
+1262,True,1,23,981,67,3,False,26.8,33
+1263,False,0,38,988,65,1,False,27.8,53
+1264,False,0,31,948,55,2,False,28.1,20
+1265,True,1,20,1104,68,4,False,22.7,61
+1266,True,1,20,923,66,1,False,18.4,24
+1267,False,0,58,655,19,3,False,29.5,17
+1268,False,0,59,705,35,5,False,27.6,37
+1269,False,0,33,908,44,1,False,22.0,50
+1270,False,0,38,855,36,6,False,24.9,38
+1271,False,0,44,734,47,1,False,18.4,40
+1272,True,1,28,919,61,4,False,26.8,52
+1273,False,0,31,933,39,3,False,26.3,33
+1274,True,1,23,867,32,3,False,20.1,46
+1275,True,1,48,649,16,5,True,27.4,55
+1276,False,0,61,826,49,3,False,28.9,70
+1277,True,1,23,1028,58,4,False,26.3,54
+1278,False,0,66,766,46,3,False,28.1,72
+1279,False,0,38,881,47,2,False,22.5,54
+1280,True,1,28,889,51,2,False,27.2,48
+1281,False,0,44,766,32,2,False,27.6,16
+1282,False,0,19,1171,79,4,False,20.1,30
+1283,False,0,27,1151,68,3,False,31.8,43
+1284,False,0,47,881,50,4,False,27.1,58
+1285,True,1,17,1169,79,3,False,24.5,43
+1286,True,1,29,862,33,2,False,27.0,55
+1287,False,0,26,1026,64,4,False,22.5,33
+1288,True,1,42,771,76,3,False,26.8,44
+1289,False,0,25,1200,66,2,False,30.7,51
+1290,False,0,28,935,29,3,False,22.8,43
+1291,False,0,39,850,45,4,False,21.9,49
+1292,False,0,52,824,68,3,False,27.4,38
+1293,False,0,28,1133,68,2,False,28.7,53
+1294,True,1,30,937,69,4,False,30.7,46
+1295,False,0,54,766,26,2,False,28.1,47
+1296,False,0,63,666,33,2,False,31.3,20
+1297,True,1,27,906,48,4,False,29.2,38
+1298,True,1,29,706,15,4,False,23.3,27
+1299,False,0,35,784,24,4,False,22.1,25
+1300,True,1,22,952,67,3,False,20.4,41
+1301,False,0,32,846,48,1,False,17.7,45
+1302,False,0,40,893,52,3,False,24.1,52
+1303,False,0,47,831,52,3,False,21.9,63
+1304,True,1,17,1111,79,4,False,18.8,54
+1305,False,0,57,848,64,4,False,27.8,62
+1306,False,0,29,1048,35,3,False,30.8,40
+1307,False,0,62,633,19,1,False,25.4,43
+1308,False,0,64,794,44,2,False,30.9,63
+1309,False,0,32,885,30,4,False,22.2,48
+1310,False,0,62,530,26,1,False,20.8,24
+1311,False,0,30,1016,70,2,False,27.3,36
+1312,False,0,28,1027,74,2,False,19.1,62
+1313,False,0,54,649,35,4,False,20.1,39
+1314,True,1,27,970,66,2,False,27.7,52
+1315,True,1,26,719,22,4,False,15.7,48
+1316,True,1,20,1020,64,1,False,22.1,41
+1317,False,0,22,1149,80,4,False,21.7,43
+1318,True,1,37,773,41,2,False,26.6,53
+1319,True,1,44,743,47,3,False,28.4,51
+1320,False,0,62,765,70,1,False,23.9,65
+1321,True,1,32,771,57,4,False,22.6,45
+1322,False,0,43,812,56,2,False,23.4,35
+1323,False,0,55,848,44,5,False,31.5,50
+1324,False,0,41,887,48,2,False,24.0,57
+1325,False,0,32,910,44,6,False,15.6,80
+1326,False,0,46,836,48,2,False,26.7,41
+1327,False,0,58,769,55,3,False,28.1,43
+1328,False,0,64,634,21,3,False,23.3,60
+1329,False,0,58,792,52,1,False,25.8,66
+1330,False,0,28,992,70,3,False,21.7,38
+1331,False,0,24,1109,69,3,False,19.7,57
+1332,False,0,68,676,37,2,False,30.8,40
+1333,True,1,19,1112,65,3,False,27.1,34
+1334,False,0,24,1026,42,3,False,18.2,56
+1335,True,1,33,768,35,3,False,24.6,49
+1336,False,0,54,801,37,2,False,28.3,53
+1337,True,1,17,1089,61,4,False,20.6,39
+1338,False,0,55,717,22,4,False,20.4,73
+1339,False,0,42,996,61,4,False,30.9,57
+1340,True,1,12,1227,65,3,False,16.5,42
+1341,False,0,37,1011,63,2,False,28.0,57
+1342,False,0,30,938,44,3,False,25.8,31
+1343,False,0,28,963,57,2,False,20.3,46
+1344,False,0,37,908,39,2,False,22.2,67
+1345,False,0,48,801,37,3,False,25.9,45
+1346,True,1,26,827,39,6,False,17.6,60
+1347,True,1,23,888,44,2,False,19.8,45
+1348,False,0,56,715,63,3,False,27.4,15
+1349,True,1,30,840,65,3,False,26.4,35
+1350,True,1,28,832,53,3,False,21.6,51
+1351,False,0,58,701,28,1,False,21.8,68
+1352,True,1,37,706,34,1,False,25.1,39
+1353,False,0,49,719,23,1,False,21.2,51
+1354,True,1,25,1025,66,1,False,32.0,34
+1355,False,0,62,719,35,1,False,31.7,33
+1356,False,0,30,932,50,3,False,23.7,37
+1357,True,1,25,932,66,2,False,18.7,67
+1358,True,1,24,1043,72,4,False,25.3,61
+1359,False,0,70,661,35,2,False,28.6,56
+1360,False,0,29,988,47,3,False,21.7,63
+1361,False,0,56,809,57,3,False,29.3,42
+1362,False,0,23,1199,63,2,False,24.9,58
+1363,False,0,18,1188,69,4,False,16.9,51
+1364,True,1,16,995,38,3,False,17.7,33
+1365,False,0,40,784,59,2,False,18.4,36
+1366,True,1,27,745,28,2,False,18.3,48
+1367,False,0,44,791,49,2,False,20.2,50
+1368,False,0,33,952,46,3,False,26.6,43
+1369,False,0,29,946,59,2,False,22.0,34
+1370,False,0,44,657,33,2,False,19.2,18
+1371,False,0,66,588,26,2,False,22.1,54
+1372,False,0,32,860,60,2,False,16.9,43
+1373,True,1,17,1213,77,2,False,26.2,55
+1374,False,0,37,867,55,3,False,25.3,26
+1375,True,1,23,1032,51,4,False,31.9,30
+1376,False,0,44,882,59,4,False,26.2,46
+1377,False,0,41,827,38,2,False,26.9,28
+1378,False,0,40,805,21,6,False,28.5,20
+1379,False,0,44,941,49,1,False,29.1,59
+1380,False,0,28,1026,61,3,False,20.7,60
+1381,False,0,31,883,33,3,False,23.4,33
+1382,True,1,23,861,42,2,False,19.2,44
+1383,False,0,22,1103,65,5,False,21.8,32
+1384,False,0,36,932,62,1,False,23.2,52
+1385,False,0,38,878,38,5,False,24.4,47
+1386,True,1,25,830,50,2,False,20.1,35
+1387,True,1,15,1095,38,2,False,21.9,37
+1388,False,0,41,747,52,5,False,18.3,33
+1389,False,0,69,581,17,1,False,24.8,54
+1390,False,0,38,898,48,2,False,23.3,56
+1391,False,0,58,740,52,7,False,24.4,53
+1392,False,0,22,1139,85,4,False,20.6,36
+1393,False,0,43,762,42,3,False,23.9,23
+1394,True,1,60,514,25,2,False,23.7,55
+1395,True,1,20,1085,56,3,False,26.8,45
+1396,True,1,42,764,57,4,False,27.8,47
+1397,True,1,23,1059,61,3,False,25.9,62
+1398,False,0,29,877,58,3,False,17.8,35
+1399,False,0,63,708,38,1,False,24.8,64
+1400,True,1,25,783,27,2,False,19.2,42
+1401,True,1,31,690,49,2,False,18.4,38
+1402,True,1,22,1065,83,2,False,26.6,45
+1403,False,0,25,1205,59,1,False,30.2,53
+1404,False,0,22,1182,68,3,False,24.2,45
+1405,False,0,30,940,47,2,False,24.3,35
+1406,False,0,26,1027,53,4,False,21.8,44
+1407,False,0,28,850,48,3,False,19.6,12
+1408,False,0,35,887,54,6,False,22.3,40
+1409,False,0,74,550,35,1,False,23.6,54
+1410,True,1,36,680,13,6,True,24.2,45
+1411,False,0,22,1146,73,4,False,19.6,57
+1412,False,0,34,889,62,5,False,18.3,54
+1413,True,1,42,750,33,3,False,28.1,57
+1414,False,0,49,918,44,2,False,31.8,57
+1415,True,1,16,1284,95,2,False,31.5,23
+1416,False,0,33,1044,54,4,False,31.2,48
+1417,False,0,19,1161,47,3,False,15.6,70
+1418,False,0,28,952,58,2,False,20.8,41
+1419,True,1,17,1057,58,4,False,16.2,54
+1420,True,1,22,948,30,2,False,22.7,50
+1421,False,0,60,638,49,4,False,18.2,55
+1422,True,1,31,880,51,3,False,30.8,44
+1423,False,0,51,786,28,3,False,29.2,39
+1424,True,1,19,1202,77,5,False,30.5,49
+1425,False,0,30,1008,53,3,False,25.4,51
+1426,False,0,39,849,61,1,False,20.6,45
+1427,True,1,21,1002,44,3,False,23.6,48
+1428,False,0,27,949,43,7,False,18.5,53
+1429,True,1,10,1291,68,5,False,18.2,37
+1430,False,0,46,766,26,3,False,19.7,64
+1431,True,1,28,881,64,5,False,18.4,78
+1432,False,0,47,905,34,2,False,28.3,68
+1433,False,0,40,900,51,4,False,26.9,41
+1434,False,0,26,892,41,4,False,18.1,22
+1435,False,0,39,829,54,2,False,19.3,48
+1436,False,0,47,866,38,2,False,26.7,60
+1437,False,0,34,918,23,3,False,24.4,58
+1438,True,1,10,1236,43,5,False,17.8,30
+1439,False,0,33,900,50,3,False,24.4,32
+1440,True,1,21,935,59,3,False,17.7,49
+1441,False,0,22,1178,74,2,False,20.8,56
+1442,False,0,47,861,59,3,False,23.6,60
+1443,False,0,22,1191,69,1,False,22.9,59
+1444,True,1,28,842,51,3,False,25.3,34
+1445,True,1,24,918,42,4,False,27.1,29
+1446,True,1,27,869,60,4,False,27.5,19
+1447,True,1,27,981,67,1,False,28.3,55
+1448,False,0,29,1019,57,3,False,23.3,59
+1449,True,1,21,1021,57,3,False,22.0,52
+1450,True,1,21,1041,82,2,False,24.7,33
+1451,False,0,53,874,55,3,False,27.0,70
+1452,True,1,21,1054,60,4,False,26.9,42
+1453,False,0,37,1016,62,4,False,25.9,72
+1454,False,0,33,1045,61,1,False,28.8,55
+1455,False,0,61,826,46,3,False,30.7,64
+1456,False,0,37,827,47,4,False,18.4,52
+1457,False,0,25,955,37,2,False,17.7,47
+1458,True,1,21,955,70,4,False,20.0,33
+1459,False,0,29,992,56,4,False,25.2,40
+1460,True,1,21,978,58,1,False,20.2,47
+1461,False,0,46,734,38,6,False,18.7,52
+1462,False,0,26,957,35,4,False,19.2,47
+1463,False,0,44,809,46,4,False,22.9,45
+1464,False,0,60,737,33,2,False,28.0,50
+1465,True,1,15,1091,62,1,False,16.0,40
+1466,False,0,28,961,49,5,False,21.4,40
+1467,False,0,45,792,57,5,False,24.2,27
+1468,True,1,39,688,28,2,False,22.2,59
+1469,False,0,47,909,46,3,False,31.3,48
+1470,True,1,30,892,51,3,False,29.6,46
+1471,False,0,43,799,37,4,False,24.3,37
+1472,False,0,19,1286,90,1,False,24.0,44
+1473,False,0,45,917,63,4,False,31.4,32
+1474,False,0,46,769,38,2,False,24.7,33
+1475,True,1,20,1007,64,3,False,24.3,21
+1476,False,0,52,883,53,4,False,29.1,61
+1477,False,0,61,632,26,3,False,22.3,49
+1478,True,1,14,1090,39,9,False,18.2,32
+1479,True,1,28,1002,63,4,False,29.6,64
+1480,True,1,20,1157,59,4,False,29.9,56
+1481,False,0,26,1101,78,4,False,21.9,58
+1482,True,1,19,1114,79,1,False,24.9,44
+1483,False,0,45,814,16,4,False,28.4,42
+1484,False,0,56,683,28,4,False,23.4,46
+1485,True,1,64,391,31,7,True,17.0,53
+1486,False,0,63,652,25,1,False,23.4,59
+1487,False,0,42,901,48,4,False,22.9,70
+1488,False,0,38,947,70,3,False,26.7,40
+1489,False,0,32,886,32,3,False,25.0,33
+1490,True,1,21,947,77,4,False,16.1,49
+1491,True,1,42,836,51,1,False,25.6,90
+1492,False,0,61,624,16,1,False,24.8,42
+1493,True,1,22,980,48,8,False,20.8,64
+1494,False,0,32,980,53,4,False,26.2,44
+1495,False,0,50,753,38,2,False,24.2,41
+1496,True,1,17,1088,62,4,False,21.4,38
+1497,True,1,11,1355,88,7,False,19.3,45
+1498,False,0,32,970,47,2,False,21.7,71
+1499,False,0,26,1173,89,3,False,25.9,52
+1500,False,0,55,783,43,3,False,26.4,54
+1501,True,1,26,984,66,5,False,25.6,59
+1502,False,0,55,908,57,7,False,29.3,77
+1503,True,1,26,879,33,3,False,22.9,58
+1504,False,0,41,784,52,2,False,22.1,28
+1505,False,0,23,1049,55,4,False,20.2,33
+1506,True,1,11,1246,78,3,False,18.1,25
+1507,False,0,23,934,36,3,False,21.1,8
+1508,False,0,46,838,31,3,False,24.3,66
+1509,False,0,29,1046,57,3,False,28.5,41
+1510,True,1,25,921,60,3,False,21.4,53
+1511,False,0,70,578,33,3,False,21.1,64
+1512,True,1,13,1218,60,6,False,20.4,40
+1513,False,0,39,890,58,4,False,23.7,46
+1514,False,0,38,905,73,2,False,21.2,53
+1515,True,1,34,847,55,3,False,28.6,51
+1516,True,1,36,798,29,3,False,32.2,37
+1517,False,0,65,692,16,1,False,28.8,58
+1518,False,0,31,1039,69,2,False,25.8,55
+1519,False,0,24,1044,52,3,False,20.9,44
+1520,True,1,21,1047,48,2,False,29.3,31
+1521,False,0,53,652,31,4,False,16.7,56
+1522,False,0,41,861,40,1,False,20.7,68
+1523,False,0,45,777,42,4,False,17.3,67
+1524,True,1,28,922,45,3,False,26.9,60
+1525,True,1,16,1189,79,4,False,23.9,41
+1526,True,1,26,897,45,1,False,26.4,40
+1527,False,0,37,859,39,1,False,24.2,39
+1528,True,1,21,1056,69,3,False,25.9,42
+1529,False,0,27,1053,71,3,False,20.7,58
+1530,False,0,62,677,44,2,False,23.7,51
+1531,False,0,53,576,21,4,False,19.7,22
+1532,False,0,66,510,37,4,False,21.1,22
+1533,True,1,34,611,23,5,True,16.3,47
+1534,False,0,40,891,52,3,False,24.4,50
+1535,False,0,45,792,40,3,False,29.0,15
+1536,False,0,28,829,33,2,False,15.7,36
+1537,False,0,61,736,45,2,False,27.7,48
+1538,False,0,42,1036,57,2,False,32.2,68
+1539,False,0,21,1153,83,5,False,24.0,19
+1540,False,0,50,663,43,3,False,19.6,30
+1541,False,0,20,1225,71,1,False,25.3,33
+1542,False,0,28,1025,60,4,False,23.9,50
+1543,False,0,42,936,40,2,False,29.8,52
+1544,True,1,29,781,15,3,False,26.1,43
+1545,True,1,14,1141,55,3,False,21.4,25
+1546,False,0,62,619,43,2,False,21.9,39
+1547,True,1,29,863,61,1,False,27.2,40
+1548,True,1,53,552,18,3,False,25.2,45
+1549,True,1,20,1066,67,3,False,19.4,70
+1550,True,1,25,883,55,6,False,22.7,38
+1551,True,1,61,637,58,6,True,30.6,49
+1552,False,0,49,844,71,1,False,26.8,38
+1553,False,0,51,759,67,3,False,23.9,30
+1554,True,1,47,724,43,2,False,28.3,56
+1555,False,0,41,823,40,2,False,25.4,33
+1556,False,0,30,1024,38,2,False,21.4,86
+1557,False,0,33,1066,64,4,False,30.9,49
+1558,False,0,46,714,20,2,False,20.0,48
+1559,False,0,27,991,41,2,False,22.0,47
+1560,False,0,49,871,62,7,False,22.9,73
+1561,True,1,19,1217,69,4,False,30.5,57
+1562,False,0,44,745,55,2,False,17.4,44
+1563,True,1,21,1000,58,4,False,25.8,31
+1564,False,0,27,1085,53,2,False,29.5,33
+1565,True,1,22,1036,59,3,False,29.0,37
+1566,False,0,52,664,16,2,False,17.5,65
+1567,False,0,66,694,63,1,False,26.7,45
+1568,True,1,26,873,58,5,False,22.9,37
+1569,True,1,24,874,31,1,False,19.3,59
+1570,False,0,38,924,56,5,False,21.8,66
+1571,False,0,41,968,63,2,False,31.4,38
+1572,False,0,25,1139,78,1,False,25.7,41
+1573,False,0,42,852,47,4,False,22.8,52
+1574,False,0,46,672,29,2,False,16.1,48
+1575,False,0,66,633,39,1,False,23.2,53
+1576,True,1,40,701,16,4,False,22.8,72
+1577,True,1,19,1109,84,1,False,23.3,47
+1578,False,0,49,872,55,3,False,29.3,44
+1579,False,0,56,800,50,2,False,27.3,54
+1580,True,1,22,973,55,3,False,22.3,47
+1581,True,1,25,1082,68,3,False,31.0,56
+1582,False,0,57,743,40,1,False,27.2,44
+1583,False,0,20,1113,56,2,False,16.1,54
+1584,True,1,17,1045,94,1,False,17.8,26
+1585,True,1,36,705,15,4,False,24.9,48
+1586,True,1,14,1333,77,3,False,30.0,40
+1587,False,0,26,925,31,3,False,19.8,31
+1588,False,0,48,698,48,2,False,18.1,42
+1589,True,1,22,988,53,3,False,22.3,53
+1590,True,1,17,1121,74,2,False,19.7,49
+1591,True,1,46,734,53,4,False,27.2,57
+1592,False,0,50,780,15,5,False,25.3,61
+1593,False,0,38,972,61,3,False,26.1,59
+1594,False,0,21,1162,86,3,False,20.3,43
+1595,True,1,21,1074,71,2,False,29.1,29
+1596,False,0,50,882,66,1,False,29.6,44
+1597,False,0,59,576,16,3,False,15.8,64
+1598,False,0,57,586,7,2,False,20.1,46
+1599,False,0,21,1130,65,4,False,23.6,25
+1600,True,1,15,1173,52,2,False,20.3,54
+1601,False,0,44,781,45,3,False,19.8,52
+1602,False,0,30,832,42,1,False,15.8,42
+1603,False,0,25,1032,71,2,False,17.5,50
+1604,True,1,22,979,53,4,False,19.5,67
+1605,True,1,51,670,16,4,False,28.2,66
+1606,False,0,25,1006,45,1,False,20.5,41
+1607,False,0,23,1197,76,5,False,26.1,48
+1608,False,0,35,962,73,1,False,28.1,27
+1609,False,0,40,879,21,3,False,29.9,37
+1610,False,0,38,1029,62,3,False,26.9,76
+1611,True,1,25,915,43,3,False,21.3,69
+1612,False,0,25,1136,82,4,False,24.3,44
+1613,False,0,34,843,63,3,False,18.4,38
+1614,False,0,41,864,33,7,False,30.1,29
+1615,True,1,27,1000,81,7,False,23.1,77
+1616,True,1,19,1154,63,2,False,28.2,49
+1617,False,0,26,1076,46,3,False,28.4,39
+1618,False,0,29,1136,66,2,False,29.7,63
+1619,True,1,13,1355,79,3,False,31.3,32
+1620,False,0,29,1084,62,2,False,27.1,58
+1621,False,0,34,1048,64,1,False,26.6,68
+1622,False,0,21,1186,59,1,False,24.9,45
+1623,False,0,50,791,35,1,False,22.2,68
+1624,False,0,77,541,33,4,False,25.4,57
+1625,False,0,50,749,35,3,False,25.4,38
+1626,False,0,51,849,51,4,False,27.0,56
+1627,False,0,39,790,48,3,False,19.4,38
+1628,False,0,48,720,53,2,False,19.4,40
+1629,False,0,32,913,37,3,False,21.3,58
+1630,True,1,19,1043,62,5,False,21.7,41
+1631,False,0,24,1152,81,4,False,24.2,47
+1632,False,0,24,1133,64,3,False,22.2,62
+1633,False,0,22,1067,49,3,False,22.1,31
+1634,False,0,55,712,17,3,False,21.7,70
+1635,True,1,26,1075,74,5,False,28.1,76
+1636,True,1,20,1232,93,5,False,31.3,56
+1637,False,0,53,812,28,2,False,29.4,54
+1638,False,0,35,943,41,2,False,28.1,41
+1639,True,1,49,599,31,1,False,22.3,54
+1640,True,1,23,854,32,4,False,19.1,41
+1641,False,0,30,1087,63,1,False,30.3,52
+1642,True,1,15,1250,88,4,False,26.0,38
+1643,False,0,59,777,49,4,False,26.7,59
+1644,False,0,44,958,53,5,False,30.1,57
+1645,True,1,59,511,30,3,False,20.2,65
+1646,False,0,54,925,52,5,False,30.7,75
+1647,True,1,22,1013,68,4,False,26.1,39
+1648,True,1,17,1070,54,5,False,17.4,61
+1649,True,1,22,922,47,2,False,24.1,28
+1650,False,0,32,1086,76,1,False,31.6,41
+1651,False,0,44,869,51,2,False,23.7,61
+1652,False,0,64,486,28,4,False,16.4,37
+1653,True,1,21,966,70,2,False,17.4,52
+1654,False,0,26,997,57,2,False,21.1,35
+1655,False,0,32,910,48,1,False,22.3,42
+1656,False,0,46,887,61,3,False,27.6,47
+1657,True,1,25,964,53,1,False,28.8,39
+1658,True,1,16,1095,56,5,False,24.9,20
+1659,True,1,20,1122,63,1,False,27.5,51
+1660,False,0,16,1247,75,4,False,15.6,54
+1661,False,0,40,860,48,4,False,23.0,50
+1662,True,1,38,743,33,1,False,28.1,41
+1663,True,1,21,1062,55,2,False,23.4,60
+1664,True,1,36,648,26,3,False,17.1,63
+1665,True,1,24,892,49,4,False,26.6,14
+1666,True,1,17,1152,75,2,False,18.6,63
+1667,True,1,19,1082,62,5,False,27.6,23
+1668,False,0,25,1016,40,2,False,22.4,43
+1669,False,0,29,972,30,3,False,28.1,32
+1670,True,1,17,1250,62,2,False,32.2,39
+1671,True,1,41,745,43,3,False,24.3,66
+1672,False,0,60,708,72,3,False,20.1,55
+1673,False,0,33,1078,54,1,False,32.2,55
+1674,True,1,20,842,49,4,False,16.3,19
+1675,True,1,23,904,53,2,False,18.8,50
+1676,True,1,29,740,36,3,False,17.4,56
+1677,False,0,50,726,43,3,False,18.4,60
+1678,False,0,26,1119,67,3,False,29.8,34
+1679,False,0,34,921,55,3,False,19.9,61
+1680,True,1,15,1112,78,2,False,19.9,28
+1681,False,0,58,750,22,2,False,25.2,72
+1682,False,0,41,935,52,3,False,31.2,36
+1683,True,1,63,575,16,8,True,30.9,58
+1684,False,0,49,688,22,2,False,19.2,52
+1685,False,0,31,935,48,2,False,25.8,33
+1686,False,0,30,1046,46,1,False,26.8,64
+1687,True,1,18,1028,58,3,False,17.5,48
+1688,False,0,40,861,60,3,False,19.6,59
+1689,False,0,42,905,50,4,False,26.7,51
+1690,False,0,61,713,27,6,False,25.9,60
+1691,True,1,23,1054,77,3,False,27.3,48
+1692,False,0,56,650,32,1,False,17.4,63
+1693,False,0,28,860,25,2,False,17.1,43
+1694,True,1,17,1075,72,5,False,16.2,55
+1695,False,0,50,803,51,4,False,24.2,53
+1696,True,1,17,1221,66,4,False,26.2,59
+1697,True,1,23,1068,74,5,False,29.4,39
+1698,False,0,26,1114,55,3,False,26.4,50
+1699,False,0,32,1005,60,3,False,28.3,39
+1700,False,0,77,436,26,2,False,18.3,60
+1701,False,0,45,833,34,4,False,27.9,39
+1702,False,0,35,941,45,1,False,21.0,72
+1703,True,1,22,1015,69,3,False,20.7,59
+1704,True,1,44,648,45,5,True,22.5,47
+1705,True,1,18,1131,39,4,False,24.1,64
+1706,True,1,15,1238,84,4,False,22.4,46
+1707,False,0,68,585,46,1,False,20.2,55
+1708,False,0,37,983,67,3,False,26.4,55
+1709,True,1,46,635,36,7,True,22.8,54
+1710,True,1,16,1128,70,3,False,20.7,39
+1711,False,0,73,430,17,2,False,21.6,30
+1712,True,1,17,1077,75,1,False,21.2,24
+1713,False,0,47,771,47,1,False,22.8,41
+1714,False,0,54,803,62,5,False,24.2,57
+1715,True,1,25,816,52,2,False,17.3,44
+1716,False,0,44,751,45,5,False,21.8,31
+1717,False,0,47,984,49,3,False,30.6,78
+1718,False,0,40,833,43,3,False,19.9,57
+1719,True,1,16,1296,80,6,False,25.6,75
+1720,False,0,28,1014,70,1,False,18.1,65
+1721,True,1,23,893,54,4,False,20.1,39
+1722,True,1,26,861,46,2,False,22.8,42
+1723,True,1,14,1222,86,3,False,22.8,27
+1724,False,0,34,923,44,2,False,22.4,58
+1725,False,0,50,843,59,1,False,22.3,70
+1726,True,1,42,745,37,4,False,32.0,35
+1727,False,0,37,771,42,2,False,19.4,31
+1728,True,1,16,1247,75,3,False,24.4,60
+1729,True,1,22,930,43,3,False,24.2,26
+1730,True,1,18,1080,51,2,False,17.9,74
+1731,True,1,29,832,57,7,False,22.2,56
+1732,True,1,26,770,36,3,False,22.2,24
+1733,False,0,26,972,45,1,False,17.1,53
+1734,False,0,41,786,44,5,False,18.7,49
+1735,False,0,36,857,62,5,False,25.6,13
+1736,False,0,37,989,50,3,False,30.6,47
+1737,False,0,83,444,29,2,False,27.9,39
+1738,True,1,26,829,49,4,False,21.8,35
+1739,False,0,39,954,70,6,False,25.7,51
+1740,False,0,53,824,34,4,False,27.9,60
+1741,True,1,19,1149,69,1,False,21.7,72
+1742,True,1,16,1146,74,6,False,26.9,11
+1743,True,1,27,780,48,3,False,16.3,58
+1744,False,0,35,847,36,1,False,23.4,34
+1745,True,1,49,570,12,2,False,20.9,64
+1746,False,0,31,970,49,1,False,24.3,52
+1747,False,0,67,592,37,4,False,18.8,68
+1748,True,1,18,961,27,4,False,22.1,27
+1749,False,0,49,906,49,5,False,30.7,55
+1750,False,0,17,1325,92,2,False,21.4,52
+1751,False,0,46,879,33,6,False,27.4,62
+1752,True,1,13,1339,77,4,False,27.7,44
diff --git a/causalpy/data/nhefs.csv b/causalpy/data/nhefs.csv
new file mode 100644
index 00000000..8f0614c1
--- /dev/null
+++ b/causalpy/data/nhefs.csv
@@ -0,0 +1,1567 @@
+age,race,sex,smokeintensity,smokeyrs,wt71,active_1,active_2,education_2,education_3,education_4,education_5,exercise_1,exercise_2,age^2,wt71^2,smokeintensity^2,smokeyrs^2,trt,outcome
+42,1,0,30,29,79.04,0,0,0,0,0,0,0,1,1764,6247.321600000001,900,841,0,-10.09395976
+36,0,0,20,24,58.63,0,0,1,0,0,0,0,0,1296,3437.4769,400,576,0,2.60496995
+56,1,1,20,26,56.81,0,0,1,0,0,0,0,1,3136,3227.3761000000004,400,676,0,9.41448602
+68,1,0,3,53,59.42,1,0,0,0,0,0,0,1,4624,3530.7364000000002,9,2809,0,4.99011654
+40,0,0,20,19,87.09,1,0,1,0,0,0,1,0,1600,7584.668100000001,400,361,0,4.98925111
+43,1,1,10,21,99.0,1,0,1,0,0,0,1,0,1849,9801.0,100,441,0,4.41906036
+56,0,1,20,39,63.05,0,0,0,1,0,0,1,0,3136,3975.3025,400,1521,0,-4.0829919
+29,0,1,2,9,58.74,0,0,0,1,0,0,0,1,841,3450.3876,4,81,0,0.2270081
+51,0,0,25,37,64.86,0,1,1,0,0,0,0,1,2601,4206.8196,625,1369,0,-2.71784531
+43,0,0,20,25,62.26,1,0,1,0,0,0,0,1,1849,3876.3075999999996,400,625,0,9.86118683
+43,0,0,30,24,63.96,1,0,0,1,0,0,1,0,1849,4090.8816,900,576,1,15.87225712
+34,0,0,40,20,85.28,0,0,0,1,0,0,0,1,1156,7272.6784,1600,400,0,-1.81900392
+54,0,1,20,19,61.58,1,0,0,0,0,0,0,1,2916,3792.0964,400,361,0,0.56215469
+51,1,1,10,38,111.02,1,0,0,1,0,0,1,0,2601,12325.4404,100,1444,0,0.11013065
+71,0,1,40,41,75.64,1,0,0,0,0,0,1,0,5041,5721.4096,1600,1681,1,-18.94095375
+47,0,1,10,24,64.07,0,0,0,1,0,0,0,0,2209,4104.964899999999,100,576,0,5.32963261
+56,0,0,20,44,76.66,0,0,0,1,0,0,0,1,3136,5876.7555999999995,400,1936,0,0.4507029
+48,0,1,2,30,62.03,1,0,0,1,0,0,1,0,2304,3847.7209000000003,4,900,1,8.27681735
+47,0,0,20,27,81.19,0,0,0,1,0,0,0,0,2209,6591.8161,400,729,0,6.80691978
+47,0,1,12,31,65.54,1,0,1,0,0,0,1,0,2209,4295.491600000001,144,961,0,3.85963261
+25,0,0,20,7,73.48,0,0,0,1,0,0,0,0,625,5399.3104,400,49,0,0.90914868
+38,0,1,20,18,81.53,0,0,0,1,0,0,0,0,1444,6647.1409,400,324,0,-13.94473687
+56,1,1,20,11,60.78,0,0,0,1,0,0,0,1,3136,3694.2084,400,121,1,9.98040972
+28,0,0,30,8,70.87,0,0,0,0,0,1,0,0,784,5022.5569000000005,900,64,0,6.2407029
+60,0,0,40,39,62.48,0,0,0,0,1,0,0,0,3600,3903.7503999999994,1600,1521,0,-1.69862242
+27,0,1,40,10,131.54,0,1,1,0,0,0,0,1,729,17302.771599999996,1600,100,0,-5.44132114
+47,0,0,30,23,94.35,0,0,0,0,0,1,0,0,2209,8901.922499999999,900,529,1,10.42983747
+53,0,0,20,38,64.41,0,0,0,0,0,0,1,0,2809,4148.648099999999,400,1444,0,-8.16454612
+33,0,0,30,16,64.41,0,0,1,0,0,0,0,1,1089,4148.648099999999,900,256,0,13.15429527
+41,0,0,60,21,74.05,1,0,0,0,1,0,1,0,1681,5483.402499999999,3600,441,0,0.79274105
+52,0,0,30,35,96.39,0,1,0,1,0,0,1,0,2704,9291.0321,900,1225,0,-1.1356023
+57,0,0,7,35,81.87,0,1,0,1,0,0,0,1,3249,6702.696900000001,49,1225,1,-5.66648184
+35,0,0,30,16,70.76,0,0,0,1,0,0,1,0,1225,5006.977600000001,900,256,0,8.61866475
+41,0,1,1,21,58.17,1,0,0,0,0,1,0,0,1681,3383.7489,1,441,0,6.24011654
+72,0,1,20,40,71.21,1,0,1,0,0,0,0,1,5184,5070.864099999999,400,1600,1,-4.53192161
+33,0,0,20,14,82.44,1,0,0,0,0,1,1,0,1089,6796.3535999999995,400,196,0,-6.69007421
+34,0,1,20,15,61.23,0,0,0,1,0,0,0,0,1156,3749.1128999999996,400,225,0,4.54089365
+35,0,1,15,22,44.23,1,0,0,1,0,0,0,1,1225,1956.2928999999997,225,484,1,20.18011654
+28,0,1,30,10,56.47,1,0,0,0,0,1,1,0,784,3188.8608999999997,900,100,0,2.95060047
+26,0,0,35,10,70.87,0,1,0,0,0,1,0,0,676,5022.5569000000005,1225,100,0,8.50866475
+64,0,0,17,44,79.15,1,0,0,1,0,0,0,0,4096,6264.722500000001,289,1936,0,-0.22492762
+35,0,0,30,21,85.62,0,0,1,0,0,0,0,0,1225,7330.7844000000005,900,441,0,-0.79822681
+63,0,1,20,43,39.58,1,0,0,1,0,0,1,0,3969,1566.5764,400,1849,1,0.33612856
+45,0,1,3,26,63.84,0,0,0,1,0,0,0,1,2025,4075.5456000000004,9,676,0,2.38448602
+69,0,1,20,29,67.59,1,0,0,0,0,0,0,1,4761,4568.408100000001,400,841,0,0.4488555
+33,0,0,20,12,74.5,1,0,0,0,0,1,0,0,1089,5550.25,400,144,0,4.87866475
+45,0,0,40,28,66.79,0,0,0,1,0,0,0,1,2025,4460.904100000001,1600,784,0,13.04225712
+37,1,1,3,9,66.56,0,0,1,0,0,0,0,1,1369,4430.2336000000005,9,81,0,1.93244787
+49,1,0,2,32,119.18,1,0,1,0,0,0,0,1,2401,14203.872400000002,4,1024,1,14.17615678
+51,1,0,10,23,76.09,0,0,0,1,0,0,0,1,2601,5789.6881,100,529,0,1.0207029
+28,0,1,20,12,54.66,1,0,1,0,0,0,0,0,784,2987.7155999999995,400,144,0,6.12137758
+36,1,1,20,14,68.49,0,0,0,1,0,0,1,0,1296,4690.880099999999,400,196,0,-0.4511445
+45,1,0,15,28,71.44,0,0,0,1,0,0,0,1,2025,5103.6736,225,784,0,12.47458845
+47,1,1,8,26,48.53,1,0,1,0,0,0,0,1,2209,2355.1609000000003,64,676,0,1.3651607
+57,1,1,20,20,63.96,0,0,1,0,0,0,1,0,3249,4090.8816,400,400,0,-9.07532323
+57,1,1,15,39,73.94,0,0,1,0,0,0,0,1,3249,5467.1236,225,1521,0,-6.80832924
+35,0,1,10,24,52.96,0,0,0,0,0,0,0,1,1225,2804.7616000000003,100,576,0,-0.34328508
+50,0,0,30,34,88.45,0,0,1,0,0,0,0,0,2500,7823.4025,900,1156,1,1.81488163
+56,0,1,40,34,49.9,0,0,0,0,0,0,1,0,3136,2490.0099999999998,1600,1156,0,9.0670081
+55,1,1,10,26,78.93,0,0,0,0,0,0,0,1,3025,6229.944900000001,100,676,0,2.26303423
+64,0,1,10,38,48.53,1,0,0,0,1,0,1,0,4096,2355.1609000000003,100,1444,0,-5.43872485
+25,1,1,30,7,50.8,0,0,0,1,0,0,0,1,625,2580.64,900,49,0,37.65051215
+32,1,1,10,14,77.0,0,0,1,0,0,0,0,1,1024,5929.0,100,196,0,15.53284348
+34,1,0,20,13,68.83,1,0,1,0,0,0,1,0,1156,4737.5689,400,169,1,5.55914868
+36,0,0,40,21,67.36,0,0,0,0,0,0,1,0,1296,4537.3696,1600,441,0,3.40040972
+34,0,0,30,26,109.09,0,1,0,0,0,1,0,0,1156,11900.6281,900,676,1,-0.68142357
+40,1,1,30,15,86.64,1,0,0,0,0,0,0,1,1600,7506.4896,900,225,0,-4.9933734
+47,0,1,30,24,48.76,0,0,1,0,0,0,0,1,2209,2377.5375999999997,900,576,0,1.1351607
+54,0,1,20,36,57.38,0,0,1,0,0,0,0,0,2916,3292.4644000000003,400,1296,1,5.21574706
+35,0,1,5,2,56.25,0,0,0,1,0,0,0,1,1225,3164.0625,25,4,0,0.44904625
+48,0,1,20,23,75.86,0,0,0,1,0,0,0,1,2304,5754.7396,400,529,0,23.02313666
+33,0,0,20,21,72.12,0,0,0,0,0,0,0,0,1089,5201.294400000001,400,441,0,4.9907029
+67,0,0,20,55,56.02,0,1,1,0,0,0,1,0,4489,3138.2404,400,3025,0,-4.31046982
+32,0,1,3,12,53.86,1,0,0,1,0,0,0,1,1024,2900.8995999999997,9,144,0,2.38545388
+37,0,1,20,20,50.69,1,0,0,1,0,0,1,0,1369,2569.4761,400,400,0,3.7410844
+65,0,0,5,47,69.63,1,0,0,1,0,0,1,0,4225,4848.336899999999,25,2209,0,-0.23036739
+51,1,1,6,16,62.71,0,0,1,0,0,0,1,0,2601,3932.5441,36,256,0,9.8647792
+33,1,0,10,17,80.97,0,0,0,0,1,0,0,0,1089,6556.140899999999,100,289,0,5.2125503
+34,1,0,20,18,67.13,0,0,0,1,0,0,1,0,1156,4506.4369,400,324,0,6.35196394
+53,0,1,6,24,81.42,1,0,1,0,0,0,0,1,2809,6629.2164,36,576,0,-21.09221479
+56,0,0,20,49,88.68,0,0,1,0,0,0,1,0,3136,7864.1424000000015,400,2401,0,6.5743977
+37,0,1,20,16,74.16,1,0,0,1,0,0,0,1,1369,5499.705599999999,400,256,0,-5.66755213
+45,1,1,5,30,89.47,0,0,1,0,0,0,1,0,2025,8004.8809,25,900,1,0.79488163
+55,1,0,20,39,76.88,0,0,1,0,0,0,1,0,3025,5910.5344,400,1521,0,-7.48036739
+59,1,0,40,40,111.81,1,0,1,0,0,0,1,0,3481,12501.4761,1600,1600,0,-12.0196786
+36,0,1,30,17,57.95,1,0,0,1,0,0,1,0,1296,3358.2025000000003,900,289,0,1.0170081
+35,0,1,12,17,71.44,0,1,0,1,0,0,1,0,1225,5103.6736,144,289,0,3.85633342
+39,0,1,20,20,52.73,0,0,0,1,0,0,1,0,1521,2780.4528999999998,400,400,0,-1.92765456
+30,0,1,13,9,65.54,1,0,0,1,0,0,1,0,900,4295.491600000001,169,81,1,15.65303423
+32,1,1,10,16,56.47,0,0,1,0,0,0,1,0,1024,3188.8608999999997,100,256,0,7.0329318
+45,1,1,8,26,58.29,1,0,0,1,0,0,0,0,2025,3397.7241,64,676,0,0.22341573
+55,0,1,25,40,66.9,0,1,1,0,0,0,0,1,3025,4475.610000000001,625,1600,0,-7.47939953
+49,1,0,10,34,89.24,1,0,0,0,0,0,1,0,2401,7963.777599999999,100,1156,1,-3.51104207
+30,1,0,20,14,93.67,0,0,1,0,0,0,0,0,900,8774.0689,400,196,0,14.73857643
+51,0,0,20,33,67.13,1,0,0,1,0,0,1,0,2601,4506.4369,400,1089,0,-1.35910635
+49,0,1,12,32,46.61,0,0,1,0,0,0,0,1,2401,2172.4921,144,1024,0,-3.06513248
+54,0,1,10,34,50.24,0,0,0,0,0,0,1,0,2916,2524.0576,100,1156,1,10.08778521
+52,0,0,6,36,74.28,0,0,0,0,0,0,0,0,2704,5517.5184,36,1296,0,-6.69473687
+43,0,0,1,27,69.29,0,0,0,0,1,0,1,0,1849,4801.1041000000005,1,729,1,1.01681735
+35,0,0,20,17,85.16,0,0,0,1,0,0,0,0,1225,7252.2256,400,289,1,1.92973504
+27,0,0,40,14,106.25,1,0,0,0,1,0,1,0,729,11289.0625,1600,196,1,12.59120094
+29,0,1,30,14,53.18,1,0,0,1,0,0,0,0,841,2828.1124,900,196,0,6.69419284
+42,1,1,20,25,45.81,0,0,0,0,0,0,0,0,1764,2098.5561000000002,400,625,0,-1.81154011
+39,0,1,40,22,51.14,0,0,0,1,0,0,0,0,1521,2615.2996000000003,1600,484,0,5.10545388
+50,0,0,20,36,72.35,0,0,1,0,0,0,0,1,2500,5234.522499999999,400,1296,1,9.2966266
+54,0,1,7,31,54.77,0,0,0,0,0,0,0,1,2916,2999.7529000000004,49,961,0,3.74341573
+65,0,0,20,30,71.44,0,0,1,0,0,0,0,0,4225,5103.6736,400,900,1,0.68118683
+27,0,0,2,6,71.33,0,0,0,0,0,0,0,1,729,5087.9689,4,36,0,10.3166266
+46,0,0,20,40,73.03,0,0,0,1,0,0,0,1,2116,5333.3809,400,1600,0,4.0807029
+32,0,1,20,16,87.2,0,0,1,0,0,0,1,0,1024,7603.84,400,256,0,11.68313666
+43,1,1,1,8,82.44,1,0,0,0,0,0,0,1,1849,6796.3535999999995,1,64,1,-3.51492762
+49,1,1,20,25,72.91,0,0,0,0,0,0,0,1,2401,5315.8681,400,625,1,-5.77832924
+70,0,1,10,52,50.92,1,0,0,0,0,0,0,1,4900,2592.8464000000004,100,2704,1,-3.74639352
+54,0,0,20,45,57.49,1,0,0,0,0,0,0,1,2916,3305.1001,400,2025,0,6.0129318
+58,0,1,10,42,55.34,0,0,0,0,0,1,0,1,3364,3062.5156,100,1764,1,-7.25920878
+32,0,0,30,16,72.8,0,0,1,0,0,0,0,0,1024,5299.839999999999,900,256,0,4.76429527
+50,0,1,20,33,68.72,0,0,1,0,0,0,0,0,2500,4722.4384,400,1089,0,-9.7529919
+37,0,1,30,22,50.24,1,0,0,1,0,0,1,0,1369,2524.0576,900,484,0,4.64467677
+26,0,0,20,7,78.58,0,0,0,1,0,0,0,0,676,6174.8164,400,49,1,-5.55162843
+25,0,1,10,3,51.48,0,0,0,1,0,0,1,0,625,2650.1903999999995,100,9,0,3.40467677
+45,0,0,1,28,62.6,1,0,0,0,0,1,0,1,2025,3918.76,1,784,1,7.70681735
+40,0,0,25,23,72.8,0,1,0,1,0,0,0,0,1600,5299.839999999999,625,529,0,0.68196394
+38,0,0,30,18,70.19,0,0,0,0,0,0,0,0,1444,4926.6361,900,324,1,2.3847792
+43,0,1,10,20,54.54,0,0,0,0,0,0,0,1,1849,2974.6115999999997,100,400,0,1.70545388
+56,0,1,10,31,57.27,0,0,0,1,0,0,1,0,3136,3279.8529000000003,100,961,1,6.2329318
+58,0,0,40,38,74.96,1,0,0,0,0,0,0,1,3364,5619.001599999999,1600,1444,1,9.40818082
+25,0,1,4,10,61.12,1,0,1,0,0,0,1,0,625,3735.6544,16,100,0,2.3829318
+46,0,1,10,42,60.89,1,0,1,0,0,0,1,0,2116,3707.5921,100,1764,0,-7.36610034
+45,0,0,30,14,88.56,1,0,0,0,0,1,1,0,2025,7842.873600000001,900,196,1,12.59109851
+42,0,1,5,23,60.1,1,0,0,0,1,0,0,1,1764,3612.01,25,529,0,3.4029318
+30,0,0,2,15,79.83,0,0,0,1,0,0,1,0,900,6372.8288999999995,4,225,0,-6.80162843
+54,0,0,40,42,102.51,0,0,0,1,0,0,0,0,2916,10508.3001,1600,1764,0,-2.7196786
+29,0,0,20,16,58.51,0,1,0,1,0,0,0,1,841,3423.4201,400,256,0,10.43604024
+45,1,0,5,25,90.04,0,0,0,1,0,0,0,1,2025,8107.201600000001,25,625,0,2.03925111
+47,1,0,10,33,80.06,0,0,0,1,0,0,0,1,2209,6409.6036,100,1089,0,-8.39240554
+28,0,0,15,12,114.76,0,0,0,0,0,0,1,0,784,13169.857600000001,225,144,0,-6.80501594
+30,0,1,20,14,70.76,0,0,0,1,0,0,0,0,900,5006.977600000001,400,196,0,13.15458845
+35,0,0,20,17,68.04,0,1,0,1,0,0,0,0,1225,4629.441600000001,400,289,0,6.80274105
+43,0,0,30,22,75.41,0,0,0,0,0,1,0,0,1849,5686.6681,900,484,0,2.60788764
+48,0,1,30,14,94.01,0,0,0,1,0,0,0,1,2304,8837.8801,900,196,1,18.02731539
+42,0,1,4,17,61.58,0,0,0,1,0,0,0,0,1764,3792.0964,16,289,0,3.28370891
+54,0,1,10,32,65.77,0,0,0,0,0,1,1,0,2916,4325.692899999999,100,1024,1,-7.25658427
+61,1,1,15,39,81.53,1,0,0,0,0,0,0,1,3721,6647.1409,225,1521,0,1.02381134
+36,1,0,20,18,59.19,0,0,0,0,0,0,0,1,1296,3503.4561,400,324,0,6.58089365
+34,1,0,13,16,96.5,1,0,0,0,0,1,0,1,1156,9312.25,169,256,0,-6.68871074
+70,1,1,2,43,73.82,0,0,0,0,0,0,0,1,4900,5449.392399999999,4,1849,1,-5.7811445
+53,0,1,5,37,57.72,1,0,0,0,0,0,0,1,2809,3331.5984,25,1369,1,3.06137758
+53,0,0,28,36,60.44,0,0,1,0,0,0,0,1,2809,3652.9936,784,1296,1,18.48507238
+62,0,1,20,37,65.54,1,0,1,0,0,0,0,1,3844,4295.491600000001,400,1369,0,2.95244787
+67,0,0,20,57,62.71,0,0,0,0,0,0,0,1,4489,3932.5441,400,3249,0,-1.47503005
+60,0,1,2,35,71.33,0,0,0,0,0,1,0,0,3600,5087.9689,4,1225,1,0.33759446
+29,0,0,40,9,101.04,0,0,0,1,0,0,1,0,841,10209.081600000001,1600,81,1,-9.86793363
+50,0,1,15,31,73.48,1,0,0,1,0,0,0,1,2500,5399.3104,225,961,0,11.34177319
+27,0,0,15,10,61.23,0,0,1,0,0,0,0,0,729,3749.1128999999996,225,100,0,5.44807839
+34,1,1,2,16,59.65,1,0,1,0,0,0,0,1,1156,3558.1225,4,256,1,-2.95095375
+33,0,0,20,14,82.33,1,0,0,0,1,0,0,0,1089,6778.2289,400,196,1,7.48128926
+59,0,1,10,43,58.74,1,0,0,1,0,0,1,0,3481,3450.3876,100,1849,1,0.2270081
+34,0,1,20,17,68.27,1,0,0,1,0,0,0,1,1156,4660.7928999999995,400,289,0,-4.7670682
+61,0,1,10,31,60.44,0,1,0,1,0,0,1,0,3721,3652.9936,100,961,0,-22.33824092
+43,1,1,25,32,56.81,0,0,1,0,0,0,0,1,1849,3227.3761000000004,625,1024,1,14.85759446
+38,0,0,60,22,78.7,1,0,0,0,0,1,0,1,1444,6193.6900000000005,3600,484,1,0.22507238
+40,0,1,40,21,53.52,0,0,0,1,0,0,0,1,1600,2864.3904,1600,441,0,1.36467677
+55,0,1,20,38,97.98,0,0,0,1,0,0,0,1,3025,9600.0804,400,1444,1,8.16061458
+34,0,1,20,19,54.66,1,0,0,0,0,0,0,1,1156,2987.7155999999995,400,361,0,-1.13610034
+56,0,0,3,36,66.11,1,0,0,0,0,1,0,0,3136,4370.5321,9,1296,0,5.55759446
+54,0,1,5,8,66.56,0,0,0,1,0,0,0,0,2916,4430.2336000000005,25,64,1,7.82914868
+59,0,0,50,46,63.62,0,0,1,0,0,0,0,0,3481,4047.5044,2500,2116,1,-3.74580716
+52,0,0,20,36,81.19,0,0,0,1,0,0,1,0,2704,6591.8161,400,1296,0,4.9925503
+25,0,1,25,10,57.49,0,0,0,1,0,0,0,0,625,3305.1001,625,100,0,3.74496995
+65,0,1,1,35,60.33,0,0,0,0,1,0,0,1,4225,3639.7088999999996,1,1225,1,6.34807839
+63,0,1,10,45,61.58,0,1,0,0,0,1,0,1,3969,3792.0964,100,2025,0,2.83011654
+25,0,1,3,6,68.15,0,0,1,0,0,0,0,1,625,4644.422500000001,9,36,0,6.23914868
+29,0,0,20,19,74.5,1,0,0,0,0,0,0,1,841,5550.25,400,361,0,8.96099608
+52,0,1,3,37,75.75,1,0,0,0,0,0,0,1,2704,5738.0625,9,1369,0,-5.89677502
+44,1,1,20,21,74.62,0,0,0,1,0,0,0,1,1936,5568.144400000001,400,441,0,3.39788764
+30,0,0,1,6,67.13,0,0,0,0,1,0,0,1,900,4506.4369,1,36,1,0.00167076
+71,0,0,4,53,53.18,0,0,0,0,0,0,0,0,5041,2828.1124,16,2809,0,-10.08872485
+63,0,1,2,23,85.96,1,0,0,0,0,0,0,0,3969,7389.121599999999,4,529,1,2.94410452
+54,0,0,3,34,73.82,0,0,0,0,0,0,0,0,2916,5449.392399999999,9,1156,0,-3.51318265
+61,0,0,20,51,92.53,1,0,0,0,0,0,0,1,3721,8561.8009,400,2601,0,-10.42978103
+32,0,0,10,14,84.25,0,0,0,1,0,0,0,0,1024,7098.0625,100,196,1,10.55080533
+58,0,0,10,41,78.13,0,0,0,0,0,0,0,1,3364,6104.296899999999,100,1681,0,-1.0192971
+42,0,0,20,25,82.33,0,0,1,0,0,0,0,1,1764,6778.2289,400,625,0,1.13099608
+30,0,1,15,11,58.63,1,0,0,1,0,0,0,1,900,3437.4769,225,121,0,2.15137758
+54,0,0,10,42,79.38,1,0,0,0,0,0,0,1,2916,6301.184399999999,100,1764,0,2.2666266
+56,0,1,20,31,49.78,0,0,0,1,0,0,0,1,3136,2478.0484,400,961,1,6.46545388
+30,1,1,15,11,80.51,1,0,1,0,0,0,0,1,900,6481.860100000001,225,121,0,11.56925111
+62,0,1,10,12,80.4,1,0,0,0,0,0,0,1,3844,6464.160000000001,100,144,1,-21.4329919
+47,0,0,20,29,86.64,0,0,0,0,0,0,0,1,2209,7506.4896,400,841,0,-0.00385733
+56,1,0,20,39,68.38,0,1,0,0,0,0,0,1,3136,4675.8243999999995,400,1521,0,-0.3411445
+35,1,1,20,15,88.34,0,0,1,0,0,0,1,0,1225,7803.9556,400,225,0,-4.87900392
+56,1,0,20,26,59.87,0,0,0,0,0,0,0,0,3136,3584.4168999999997,400,676,0,-0.9029919
+53,0,0,20,38,135.62,0,0,0,0,0,0,1,0,2809,18392.7844,400,1444,0,-29.02579305
+32,1,1,20,14,73.03,1,0,0,0,0,0,0,1,1024,5333.3809,400,196,0,34.01779932
+54,1,0,15,33,74.39,1,0,0,0,0,0,1,0,2916,5533.8721000000005,225,1089,0,-4.53677502
+55,1,1,10,32,53.41,0,0,0,0,0,0,0,1,3025,2852.6280999999994,100,1024,0,-6.68998589
+69,0,1,16,49,60.21,1,0,1,0,0,0,0,0,4761,3625.2441,256,2401,0,-9.86124693
+36,0,0,35,16,74.05,1,0,1,0,0,0,1,0,1296,5483.402499999999,1225,256,0,9.86458845
+51,0,0,20,37,49.21,0,0,0,0,0,0,0,0,2601,2421.6241,400,1369,0,4.31389966
+49,1,0,20,33,99.22,1,0,0,0,0,0,0,1,2401,9844.6084,400,1089,0,-1.24404808
+58,1,0,10,40,78.36,1,0,0,0,0,0,0,1,3364,6140.2896,100,1600,1,1.01866475
+39,0,1,40,3,57.49,0,0,0,0,0,0,0,1,1521,3305.1001,1600,9,0,33.68206637
+55,0,0,15,34,95.71,0,0,0,1,0,0,0,0,3025,9160.404099999998,225,1156,0,-3.63074889
+49,0,0,30,27,84.94,1,0,0,1,0,0,0,1,2401,7214.803599999999,900,729,1,-3.2933734
+25,0,1,30,7,60.21,0,0,0,1,0,0,0,1,625,3625.2441,900,49,0,2.38574706
+45,1,0,10,27,66.0,0,0,1,0,0,0,0,1,2025,4356.0,100,729,1,12.92507238
+50,0,0,20,35,63.39,1,0,0,0,0,0,0,0,2500,4018.2921,400,1225,0,-2.60862242
+38,1,1,12,20,107.73,1,0,0,0,0,1,0,1,1444,11605.752900000001,144,400,0,-24.26900392
+34,0,1,1,17,69.74,1,0,0,1,0,0,0,0,1156,4863.667599999999,1,289,1,0.56681735
+32,0,0,20,15,62.94,0,0,0,1,0,0,1,0,1024,3961.4435999999996,400,225,0,5.0988555
+32,0,0,30,14,102.74,1,0,0,0,1,0,0,1,1024,10555.507599999999,900,196,1,4.76139169
+59,0,0,25,40,84.59,1,0,0,1,0,0,1,0,3481,7155.468100000001,625,1600,0,3.40691978
+68,0,0,17,54,78.7,1,0,0,0,0,0,1,0,4624,6193.6900000000005,289,2916,0,-14.28988346
+47,0,0,35,28,72.12,0,1,0,1,0,0,0,1,2209,5201.294400000001,1225,784,0,6.80507238
+35,0,1,20,22,52.5,0,0,0,0,0,0,1,0,1225,2756.25,400,484,0,-2.15124693
+57,1,0,10,43,83.23,1,0,0,0,0,0,1,0,3249,6927.232900000001,100,1849,0,-2.49055814
+54,0,0,20,39,53.98,0,0,0,0,0,0,0,1,2916,2913.8403999999996,400,1521,0,7.25496995
+46,0,1,30,26,61.23,0,0,1,0,0,0,0,1,2116,3749.1128999999996,900,676,0,-5.43813849
+26,0,1,10,5,52.73,0,0,0,1,0,0,1,0,676,2780.4528999999998,100,25,1,3.06186151
+39,0,0,40,24,81.08,0,0,0,0,0,0,1,0,1521,6573.966399999999,1600,576,0,13.72080533
+61,0,0,25,46,74.05,0,0,0,0,0,0,0,1,3721,5483.402499999999,625,2116,0,1.24633342
+49,0,0,30,32,55.0,0,0,0,0,0,0,0,0,2401,3025.0,900,1024,0,-5.55843167
+54,0,0,30,9,92.53,0,1,0,1,0,0,0,1,2916,8561.8009,900,81,1,-4.98667259
+41,0,0,15,24,78.02,0,0,0,0,0,1,0,1,1681,6087.1204,225,576,1,1.35866475
+44,0,1,4,19,65.09,1,0,0,1,0,0,0,1,1936,4236.708100000001,16,361,0,-3.40143768
+60,0,0,20,39,79.72,0,0,0,0,0,0,0,0,3600,6355.2784,400,1521,0,-7.1452208
+49,0,1,15,24,69.97,0,0,0,1,0,0,0,1,2401,4895.8009,225,576,0,-1.9311445
+44,0,0,20,26,81.19,0,0,0,0,0,0,0,0,1936,6591.8161,400,676,0,6.35332741
+38,1,1,4,18,50.24,0,0,1,0,0,0,0,0,1444,2524.0576,16,324,0,0.56234544
+61,1,0,4,42,60.33,0,0,0,0,0,0,0,1,3721,3639.7088999999996,16,1764,0,-3.63095375
+60,0,1,12,20,68.38,0,0,0,1,0,0,1,0,3600,4675.8243999999995,144,400,0,5.10196394
+34,0,1,20,21,52.96,0,0,0,1,0,0,1,0,1156,2804.7616000000003,400,441,0,-3.0648393
+41,0,1,20,17,60.44,0,1,1,0,0,0,1,0,1681,3652.9936,400,289,0,13.94914868
+60,1,0,20,26,83.8,0,0,0,0,0,0,0,1,3600,7022.44,400,676,0,-3.06055814
+40,1,1,3,18,61.01,0,0,0,0,0,1,1,0,1600,3722.2200999999995,9,324,1,8.84322498
+38,0,1,20,18,62.48,1,0,0,1,0,0,0,1,1444,3903.7503999999994,400,324,1,8.28040972
+49,1,0,20,33,62.6,1,0,0,0,0,0,0,1,2401,3918.76,400,1089,0,4.98526313
+46,1,0,20,26,82.21,0,0,0,0,0,0,0,1,2116,6758.484099999999,400,676,0,13.49799007
+48,0,0,40,42,72.01,1,0,0,0,0,0,0,0,2304,5185.440100000001,1600,1764,0,-9.41425294
+32,0,0,20,14,81.31,1,0,0,1,0,0,0,1,1024,6611.3161,400,196,0,1.24381134
+48,1,0,10,30,67.13,0,0,0,0,0,0,0,1,2304,4506.4369,100,900,1,10.43429527
+49,0,0,10,35,57.72,1,0,0,1,0,0,1,0,2401,3331.5984,100,1225,1,4.42215469
+60,0,1,20,42,59.65,0,0,0,1,0,0,0,1,3600,3558.1225,400,1764,0,-9.30124693
+59,0,1,20,38,70.76,1,0,1,0,0,0,1,0,3481,5006.977600000001,400,1444,0,10.43303423
+62,1,0,20,50,78.36,1,0,0,0,0,0,0,1,3844,6140.2896,400,2500,0,-2.15648184
+51,0,1,20,18,55.57,0,0,0,1,0,0,1,0,2601,3088.0249,400,324,0,1.58263862
+42,0,0,40,22,89.02,1,0,0,1,0,0,1,0,1764,7924.560399999999,1600,484,1,47.51130337
+38,0,0,30,25,67.36,1,0,1,0,0,0,0,1,1444,4537.3696,900,625,0,7.48274105
+62,0,1,20,12,69.74,1,0,0,0,1,0,1,0,3844,4863.667599999999,400,144,0,-6.2370682
+56,0,1,13,40,53.52,1,0,0,1,0,0,1,0,3136,2864.3904,169,1600,1,4.08623099
+50,0,0,10,32,87.09,0,1,0,0,0,1,0,1,2500,7584.668100000001,100,1024,1,-1.36104207
+44,0,1,30,26,61.35,1,0,0,0,1,0,1,0,1936,3763.8225,900,676,0,-4.65095375
+38,1,0,20,20,52.62,1,0,1,0,0,0,0,1,1444,2768.8644,400,400,0,4.07904625
+39,0,0,40,21,136.98,1,0,0,1,0,0,1,0,1521,18763.520399999998,1600,441,1,-0.44869663
+25,0,0,18,8,72.8,0,0,0,1,0,0,1,0,625,5299.839999999999,324,64,0,3.40351816
+26,0,1,20,10,48.42,1,0,0,1,0,0,0,1,676,2344.4964,400,100,0,-4.42154011
+65,0,0,30,35,85.16,0,0,0,1,0,0,1,0,4225,7252.2256,900,1225,1,-1.69900392
+58,0,0,25,40,75.75,0,0,0,1,0,0,1,0,3364,5738.0625,625,1600,1,-14.51503005
+44,0,1,20,26,59.19,0,0,0,0,0,0,0,1,1936,3503.4561,400,676,0,8.39526313
+46,1,0,20,28,109.2,1,0,1,0,0,0,0,1,2116,11924.640000000001,400,784,0,-16.66715652
+44,0,0,40,28,81.08,1,0,1,0,0,0,0,1,1936,6573.966399999999,1600,784,0,-8.5052208
+57,0,0,20,45,67.59,1,0,0,0,0,0,1,0,3249,4568.408100000001,400,2025,1,-3.17988346
+51,0,0,20,41,67.13,1,0,0,0,0,0,1,0,2601,4506.4369,400,1681,0,0.9088555
+29,0,0,30,15,58.29,0,0,0,1,0,0,1,0,841,3397.7241,900,225,0,7.48089365
+53,1,0,3,37,104.55,1,0,0,0,0,0,0,1,2809,10930.7025,9,1369,0,-15.19230311
+58,0,0,25,50,76.32,1,0,0,0,0,0,0,1,3364,5824.742399999999,625,2500,1,-3.7452208
+65,0,0,10,58,92.76,0,0,0,0,0,0,1,0,4225,8604.4176,100,3364,1,-13.38133525
+53,0,1,30,30,70.31,0,0,1,0,0,0,0,1,2809,4943.4961,900,900,1,26.30517481
+30,0,0,10,14,54.88,0,0,1,0,0,0,0,1,900,3011.8144,100,196,0,5.90137758
+41,0,0,45,24,68.49,1,0,0,0,0,1,0,1,1681,4690.880099999999,2025,576,0,-0.4511445
+47,1,1,2,30,72.01,1,0,0,0,0,0,0,1,2209,5185.440100000001,4,900,0,0.5647792
+35,1,1,20,18,91.06,1,0,0,1,0,0,0,1,1225,8291.9236,400,324,0,12.35906036
+56,1,0,20,38,68.95,0,0,0,1,0,0,1,0,3136,4754.1025,400,1444,0,1.35681735
+54,1,1,2,24,62.94,0,1,0,0,0,0,0,1,2916,3961.4435999999996,4,576,0,-10.77687745
+58,1,0,40,40,69.06,1,0,0,1,0,0,1,0,3364,4769.283600000001,1600,1600,0,7.14351816
+57,1,1,3,39,76.32,1,0,0,0,0,0,0,1,3249,5824.742399999999,9,1521,1,16.66643585
+34,1,1,20,18,47.63,1,0,0,1,0,0,1,0,1156,2268.6169000000004,400,324,0,2.2651607
+54,0,1,10,43,46.72,1,0,0,0,0,0,1,0,2916,2182.7583999999997,100,1849,0,4.98953018
+54,0,0,2,33,65.77,1,0,0,0,0,0,0,1,2916,4325.692899999999,4,1089,1,4.08322498
+35,0,1,12,17,59.31,0,0,0,0,0,1,0,1,1225,3517.6761,144,289,1,1.92496995
+64,0,0,30,56,70.31,1,0,1,0,0,0,0,1,4096,4943.4961,900,3136,1,-6.35347583
+55,0,0,10,41,85.05,1,0,1,0,0,0,1,0,3025,7233.5025,100,1681,0,-6.57851999
+45,0,0,40,27,72.35,0,0,1,0,0,0,0,1,2025,5234.522499999999,1600,729,0,3.85351816
+53,0,0,8,32,80.06,0,0,0,1,0,0,1,0,2809,6409.6036,64,1024,0,-5.21725895
+64,0,0,16,47,73.48,1,0,0,1,0,0,1,0,4096,5399.3104,256,2209,0,-0.9052208
+28,0,1,4,10,91.85,0,0,0,0,1,0,0,1,784,8436.422499999999,16,100,1,22.45527724
+64,0,0,15,38,71.33,0,0,0,1,0,0,0,1,4096,5087.9689,225,1444,0,3.51274105
+33,0,1,10,13,59.31,1,0,0,1,0,0,0,0,1089,3517.6761,100,169,0,-0.79658427
+39,0,1,20,23,85.96,0,0,0,1,0,0,0,0,1521,7389.121599999999,400,529,0,6.11925111
+52,0,1,10,17,75.18,1,0,1,0,0,0,0,1,2704,5652.032400000001,100,289,1,7.82740371
+44,0,0,35,28,73.03,0,0,0,1,0,0,1,0,1936,5333.3809,1225,784,0,7.25584949
+46,0,0,20,29,95.48,0,0,0,0,0,0,0,1,2116,9116.430400000001,400,841,1,6.57828325
+69,0,1,40,43,64.86,1,0,0,0,0,1,0,0,4761,4206.8196,1600,1849,1,0.91089365
+57,0,1,40,38,40.6,1,0,0,1,0,0,1,0,3249,1648.3600000000001,1600,1444,1,2.03768278
+47,0,0,20,30,74.28,1,0,0,0,1,0,1,0,2209,5517.5184,400,900,0,0.10914868
+25,0,0,30,13,74.28,1,0,0,1,0,0,0,1,625,5517.5184,900,169,0,-5.78755213
+44,0,0,20,26,68.49,0,0,0,0,0,0,0,1,1936,4690.880099999999,400,676,1,19.50691978
+46,0,1,10,33,70.53,1,0,0,1,0,0,0,1,2116,4974.4809000000005,100,1089,0,11.1166266
+25,0,1,10,3,43.54,0,0,0,1,0,0,0,1,625,1895.7315999999998,100,9,0,4.99438359
+37,0,1,40,23,61.58,0,1,1,0,0,0,0,1,1369,3792.0964,1600,529,0,10.9947792
+28,0,1,40,14,69.74,0,0,0,1,0,0,0,1,784,4863.667599999999,1600,196,0,25.06080533
+72,0,1,15,41,44.34,0,0,0,1,0,0,0,1,5184,1966.0356000000004,225,1681,0,-3.06309433
+49,0,1,10,30,92.65,1,0,0,1,0,0,1,0,2401,8584.022500000001,100,900,0,2.6043977
+26,0,0,5,10,81.53,1,0,0,1,0,0,0,0,676,6647.1409,25,100,0,6.92051215
+51,0,0,20,21,78.24,0,0,0,0,0,1,0,1,2601,6121.497599999999,400,441,1,4.31381134
+34,0,1,20,17,58.97,1,0,0,1,0,0,0,1,1156,3477.4609,400,289,0,4.5329318
+44,0,0,20,23,95.03,0,0,0,0,0,1,0,0,1936,9030.7009,400,529,0,7.02828325
+36,0,1,15,20,50.69,0,0,0,0,0,1,0,0,1296,2569.4761,225,400,0,6.46263862
+50,0,0,20,34,78.7,1,0,0,0,0,0,0,1,2500,6193.6900000000005,400,1156,1,0.22507238
+48,0,1,25,27,75.52,0,1,0,0,0,1,0,1,2304,5703.270399999999,625,729,0,4.31225712
+54,0,0,40,39,78.81,0,0,0,0,0,0,0,0,2916,6211.016100000001,1600,1521,0,2.38303423
+32,0,0,30,13,77.22,1,0,0,1,0,0,0,1,1024,5962.9284,900,169,0,3.06584949
+36,0,0,5,11,57.72,0,0,0,0,0,0,0,1,1296,3331.5984,25,121,1,14.8547792
+41,0,1,12,19,71.44,0,0,0,1,0,0,0,0,1681,5103.6736,144,361,0,-14.28736138
+55,0,1,20,40,63.96,0,0,0,0,0,0,1,0,3025,4090.8816,400,1600,0,1.35730128
+31,0,0,20,17,66.45,0,0,1,0,0,0,0,1,961,4415.6025,400,289,0,12.02148001
+25,0,0,20,6,83.01,0,0,0,0,1,0,1,0,625,6890.660100000001,400,36,0,-10.4352208
+33,0,1,40,15,49.44,1,0,0,0,1,0,0,0,1089,2444.3136,1600,225,0,-0.45202404
+28,0,0,20,6,94.46,0,1,0,0,0,1,0,1,784,8922.691599999998,400,36,0,24.38120094
+35,0,1,5,7,59.76,1,0,0,1,0,0,0,1,1225,3571.2576,25,49,0,6.46448602
+61,0,1,15,46,71.67,0,0,0,1,0,0,1,0,3721,5136.588900000001,225,2116,0,-7.71347583
+49,0,0,30,33,75.86,0,0,0,0,1,0,0,0,2401,5754.7396,900,1089,1,7.60099608
+56,1,1,10,37,89.36,1,0,1,0,0,0,0,1,3136,7985.2096,100,1369,0,3.62643585
+67,1,1,3,36,59.99,1,0,0,0,0,0,0,1,4489,3598.8001000000004,9,1296,0,8.50244787
+51,0,0,20,30,80.29,0,0,0,0,0,0,0,0,2601,6446.484100000001,400,900,0,4.98536556
+62,0,1,6,32,56.59,1,0,0,1,0,0,0,0,3844,3202.4281000000005,36,1024,1,-5.78765456
+57,0,1,40,15,63.84,0,0,1,0,0,0,0,1,3249,4075.5456000000004,1600,225,0,2.38448602
+25,1,1,6,4,62.82,1,0,0,0,1,0,1,0,625,3946.3524,36,16,1,14.2907029
+26,1,1,20,5,73.48,1,0,0,1,0,0,0,1,676,5399.3104,400,25,0,0.90914868
+34,1,1,20,18,120.43,1,0,0,1,0,0,1,0,1156,14503.384900000001,400,324,0,8.39023308
+46,0,1,15,11,53.52,0,0,0,1,0,0,0,1,2116,2864.3904,225,121,0,5.4470081
+57,0,0,20,42,74.62,0,0,0,0,0,0,0,1,3249,5568.144400000001,400,1764,1,4.75866475
+54,0,1,2,34,67.81,1,0,0,1,0,0,1,0,2916,4598.1961,4,1156,1,2.95040972
+25,0,1,2,4,52.39,0,0,0,0,0,1,0,0,625,2744.7121,4,16,1,5.66982336
+56,0,0,40,38,85.39,1,0,0,0,0,0,0,1,3136,7291.4521,1600,1444,0,-1.92900392
+39,0,0,40,21,76.54,1,0,1,0,0,0,1,0,1521,5858.371600000001,1600,441,0,7.37458845
+36,0,1,20,21,65.66,1,0,0,1,0,0,1,0,1296,4311.2356,400,441,0,4.64681735
+43,0,1,10,25,57.61,1,0,0,0,0,1,0,0,1849,3318.9121,100,625,0,1.3570081
+72,0,0,30,52,73.48,0,0,0,1,0,0,1,0,5184,5399.3104,900,2704,0,5.89866475
+39,0,1,20,21,60.44,0,0,1,0,0,0,1,0,1521,3652.9936,400,441,0,13.49555631
+26,0,1,3,11,60.89,0,0,1,0,0,0,0,0,676,3707.5921,9,121,0,11.23118683
+27,0,1,20,11,71.89,0,0,1,0,0,0,0,0,729,5168.1721,400,121,0,-3.39755213
+50,0,0,1,31,72.12,1,0,0,1,0,0,0,0,2500,5201.294400000001,1,961,0,6.80507238
+60,0,0,12,35,69.63,1,0,0,0,0,1,0,1,3600,4848.336899999999,144,1225,1,1.13040972
+50,0,1,12,20,63.62,0,0,0,0,0,0,0,1,2500,4047.5044,144,400,1,20.29458845
+62,0,0,10,41,77.56,0,0,0,1,0,0,0,1,3844,6015.5536,100,1681,1,6.35458845
+43,0,0,60,25,88.79,0,0,0,0,1,0,1,0,1849,7883.664100000001,3600,625,0,8.73235955
+33,0,1,30,17,59.99,0,0,1,0,0,0,0,1,1089,3598.8001000000004,900,289,0,-7.37328508
+25,0,1,10,7,56.81,1,0,0,0,0,1,1,0,625,3227.3761000000004,100,49,0,-2.3789156
+67,0,1,20,25,66.79,0,1,0,0,1,0,1,0,4489,4460.904100000001,400,625,0,6.23837157
+26,0,1,10,8,92.65,0,0,0,1,0,0,0,1,676,8584.022500000001,100,64,1,-20.0752208
+25,0,0,20,7,73.6,0,0,0,1,0,0,0,0,625,5416.959999999999,400,49,0,3.05711053
+50,0,0,20,25,73.6,0,0,0,1,0,0,0,1,2500,5416.959999999999,400,625,0,5.77866475
+51,0,0,30,32,80.97,0,0,0,1,0,0,0,1,2601,6556.140899999999,900,1024,1,2.03740371
+26,0,1,13,10,53.07,1,0,0,0,1,0,1,0,676,2816.4249,169,100,1,5.8970081
+29,0,1,10,5,62.14,0,0,0,0,0,1,1,0,841,3861.3796,100,25,1,1.3629318
+51,0,1,20,23,64.41,0,0,0,1,0,0,1,0,2601,4148.648099999999,400,529,1,6.35040972
+44,0,1,10,24,62.03,0,0,0,1,0,0,1,0,1936,3847.7209000000003,100,576,0,-3.0629919
+61,1,1,6,32,74.96,0,0,0,0,0,0,0,1,3721,5619.001599999999,36,1024,1,-4.65318265
+54,1,0,10,37,61.69,1,0,0,1,0,0,1,0,2916,3805.6560999999997,100,1369,1,6.3488555
+28,1,0,45,13,74.39,1,0,1,0,0,0,1,0,784,5533.8721000000005,2025,169,0,1.35992579
+32,1,0,10,18,72.46,1,0,0,0,0,0,1,0,1024,5250.451599999999,100,324,0,-3.06036739
+45,0,0,20,27,72.57,1,0,0,0,0,1,0,0,2025,5266.404899999999,400,729,0,1.81914868
+50,0,0,30,34,74.73,0,1,0,0,0,0,0,1,2500,5584.572900000001,900,1156,1,0.11274105
+25,0,0,20,8,95.14,0,0,0,1,0,0,0,0,625,9051.6196,400,64,0,-1.24637941
+59,0,0,10,47,80.63,0,0,0,1,0,0,0,1,3481,6501.196899999999,100,2209,0,-0.79774288
+52,0,1,20,35,56.59,0,0,0,1,0,0,0,1,2704,3202.4281000000005,400,1225,0,8.72730128
+38,1,1,10,24,68.83,0,0,1,0,0,0,1,0,1444,4737.5689,100,576,0,11.45584949
+31,0,0,20,13,108.52,0,1,0,1,0,0,0,1,961,11776.5904,400,169,0,0.3421688
+29,0,1,20,11,73.37,1,0,0,1,0,0,1,0,841,5383.156900000001,400,121,0,0.11196394
+58,0,0,20,40,73.03,0,0,0,0,0,0,0,0,3364,5333.3809,400,1600,1,-2.72318265
+59,0,0,40,41,84.37,1,0,0,0,1,0,1,0,3481,7118.296900000001,1600,1681,0,-0.90900392
+29,0,1,10,15,85.73,1,0,1,0,0,0,1,0,841,7349.6329000000005,100,225,0,-9.07288947
+25,0,0,10,7,59.99,1,0,0,1,0,0,1,0,625,3598.8001000000004,100,49,1,1.69856232
+26,0,1,15,8,78.58,0,0,0,1,0,0,1,0,676,6174.8164,225,64,0,-8.27318265
+66,0,1,15,40,73.82,0,0,1,0,0,0,0,0,4356,5449.392399999999,225,1600,0,-9.40988346
+43,0,0,20,23,84.94,0,0,1,0,0,0,0,1,1849,7214.803599999999,400,529,0,2.60332741
+53,0,0,40,21,81.19,0,0,1,0,0,0,0,0,2809,6591.8161,1600,441,0,4.08536556
+35,0,1,30,15,47.85,0,0,0,1,0,0,1,0,1225,2289.6225,900,225,0,1.13797596
+43,0,1,20,30,61.69,0,0,0,1,0,0,1,0,1849,3805.6560999999997,400,900,0,4.08089365
+45,0,1,20,13,40.82,1,0,0,1,0,0,1,0,2025,1666.2724,400,169,0,8.16797596
+32,0,1,20,16,60.78,0,0,0,1,0,0,0,0,1024,3694.2084,400,256,0,5.44448602
+30,1,0,5,12,70.53,1,0,1,0,0,0,1,0,900,4974.4809000000005,25,144,0,15.19895793
+34,0,1,20,10,54.54,1,0,0,1,0,0,1,0,1156,2974.6115999999997,400,100,1,3.06623099
+56,0,0,7,31,110.0,0,0,0,1,0,0,0,1,3136,12100.0,49,961,1,11.56275516
+50,0,0,20,36,70.42,1,0,1,0,0,0,0,1,2500,4958.9764000000005,400,1296,0,-0.11318265
+30,0,0,40,12,115.55,1,0,0,1,0,0,1,0,900,13351.8025,1600,144,0,-1.24472276
+48,0,0,20,32,57.61,0,0,1,0,0,0,0,0,2304,3318.9121,400,1024,0,3.62496995
+49,0,1,20,31,72.35,1,0,1,0,0,0,0,1,2401,5234.522499999999,400,961,0,6.57507238
+40,0,1,1,15,70.76,0,1,0,1,0,0,0,1,1600,5006.977600000001,1,225,1,12.70099608
+39,0,0,40,25,83.57,0,0,1,0,0,0,0,1,1521,6983.944899999999,1600,625,0,0.79818082
+38,0,1,20,21,67.13,0,1,1,0,0,0,0,1,1444,4506.4369,400,441,0,-10.88454612
+37,0,1,20,3,50.92,1,0,1,0,0,0,1,0,1369,2592.8464000000004,400,9,0,0.33593781
+61,0,1,7,22,54.66,1,0,0,0,0,0,0,1,3721,2987.7155999999995,49,484,0,4.3070081
+42,0,1,20,24,79.04,1,0,0,1,0,0,0,1,1764,6247.321600000001,400,576,0,7.1425503
+59,0,0,40,55,56.36,0,0,0,0,0,0,0,1,3481,3176.4496,1600,3025,1,18.02914868
+28,0,0,20,13,82.1,0,1,0,1,0,0,0,1,784,6740.409999999999,400,169,0,5.44332741
+49,0,0,15,32,72.57,0,1,0,1,0,0,0,1,2401,5266.404899999999,225,1024,0,-0.90240554
+32,1,1,5,14,151.73,0,0,1,0,0,0,0,1,1024,23021.992899999997,25,196,0,-19.73462033
+47,0,1,2,29,53.75,1,0,0,1,0,0,1,0,2209,2889.0625,4,841,0,-2.04046982
+30,0,0,1,12,76.2,0,0,0,1,0,0,0,1,900,5806.4400000000005,1,144,0,6.80740371
+28,0,1,20,9,59.31,0,0,0,1,0,0,1,0,784,3517.6761,400,81,1,3.28574706
+47,0,1,25,29,54.32,1,0,1,0,0,0,1,0,2209,2950.6624,625,841,0,7.36856232
+37,0,1,20,16,69.4,0,1,1,0,0,0,1,0,1369,4816.360000000001,400,256,0,-0.00036739
+31,0,0,20,12,88.79,0,0,0,1,0,0,0,1,961,7883.664100000001,400,144,1,4.65002822
+38,0,0,30,24,71.78,0,1,0,1,0,0,0,1,1444,5152.3684,900,576,1,10.32021897
+42,0,0,30,27,69.63,1,0,0,1,0,0,1,0,1764,4848.336899999999,900,729,0,5.21274105
+51,0,0,5,33,74.84,0,1,0,0,0,0,1,0,2601,5601.025600000001,25,1089,0,6.8066266
+31,1,1,10,14,46.61,0,0,1,0,0,0,1,0,961,2172.4921,100,196,0,8.72826914
+48,1,1,20,32,78.58,1,0,0,1,0,0,0,1,2304,6174.8164,400,1024,0,-2.37648184
+46,0,1,40,34,63.5,1,0,0,0,0,0,0,1,2116,4032.25,1600,1156,0,0.91011654
+30,0,0,20,14,62.82,0,0,0,1,0,0,1,0,900,3946.3524,400,196,0,12.02274105
+25,0,1,15,12,64.64,1,0,1,0,0,0,1,0,625,4178.3296,225,144,0,3.85244787
+47,0,1,60,26,105.57,1,0,1,0,0,0,0,1,2209,11145.024899999999,3600,676,1,-8.04764045
+61,0,0,10,40,62.71,1,0,0,1,0,0,1,0,3721,3932.5441,100,1600,1,-3.7429919
+68,0,0,25,48,66.68,1,0,0,0,0,0,0,1,4624,4446.222400000001,625,2304,0,5.8947792
+27,0,0,8,11,64.3,0,0,1,0,0,0,1,0,729,4134.49,64,121,0,-1.70425294
+28,0,0,20,14,77.34,0,0,0,1,0,0,1,0,784,5981.475600000001,400,196,0,-0.2292971
+54,0,0,20,40,57.27,1,0,1,0,0,0,1,0,2916,3279.8529000000003,400,1600,0,1.24341573
+25,0,0,40,16,70.76,0,0,1,0,0,0,0,0,625,5006.977600000001,1600,256,0,10.8866266
+43,0,1,40,34,68.61,0,0,1,0,0,0,0,0,1849,4707.3321,1600,1156,0,3.9647792
+36,0,0,40,26,88.56,0,0,1,0,0,0,0,1,1296,7842.873600000001,1600,676,0,-2.3774497
+33,0,1,10,14,62.37,1,0,0,0,0,0,0,1,1089,3890.0168999999996,100,196,0,7.93681735
+53,0,1,10,15,44.79,1,0,0,0,0,0,1,0,2809,2006.1441,100,225,0,1.02282937
+54,0,1,30,34,60.89,1,0,0,0,0,0,1,0,2916,3707.5921,900,1156,0,-1.9229919
+36,0,0,40,20,85.16,1,0,0,0,0,0,1,0,1296,7252.2256,1600,400,0,6.01206637
+60,0,0,20,42,81.65,0,0,0,0,0,0,0,0,3600,6666.722500000001,400,1764,0,-9.0752208
+25,0,0,20,4,88.79,0,0,0,0,1,0,0,0,625,7883.664100000001,400,16,0,2.83565874
+48,0,1,25,29,46.49,1,0,0,0,0,0,0,1,2304,2161.3201000000004,625,841,0,6.12671492
+48,0,1,12,29,52.5,1,0,1,0,0,0,0,1,2304,2756.25,144,841,0,3.74545388
+40,0,0,20,24,81.76,0,0,1,0,0,0,0,0,1600,6684.6976,400,576,0,5.78332741
+26,1,1,20,8,60.21,0,0,0,1,0,0,0,1,676,3625.2441,400,64,0,9.64322498
+37,0,0,30,16,129.5,0,1,0,0,0,1,0,1,1369,16770.25,900,256,0,-2.4941364
+50,0,0,20,35,74.05,1,0,0,0,0,0,0,1,2500,5483.402499999999,400,1225,0,-3.28959028
+50,0,0,40,29,119.52,0,0,0,0,0,1,1,0,2500,14285.0304,1600,841,0,2.04275516
+53,0,1,15,38,65.09,1,0,0,1,0,0,1,0,2809,4236.708100000001,225,1444,0,7.4847792
+29,1,0,15,7,70.99,0,0,0,1,0,0,0,1,841,5039.580099999999,225,49,0,1.13118683
+62,0,0,20,48,60.44,1,0,0,0,0,0,0,1,3844,3652.9936,400,2304,0,-2.83376901
+68,0,0,12,50,53.98,0,0,0,0,0,0,0,0,4624,2913.8403999999996,144,2500,0,-0.00250797
+28,1,1,20,10,70.19,1,0,0,1,0,0,0,1,784,4926.6361,400,100,0,-8.04784531
+53,1,0,20,41,108.86,1,0,0,0,0,0,0,1,2809,11850.4996,400,1681,0,1.81653828
+57,0,0,20,39,51.14,0,1,0,0,0,0,0,1,3249,2615.2996000000003,400,1521,1,-5.32717063
+43,0,0,30,26,76.09,0,0,0,1,0,0,1,0,1849,5789.6881,900,676,0,-1.70085132
+43,0,1,3,40,103.76,1,0,0,1,0,0,1,0,1849,10766.137600000002,9,1600,0,10.99886961
+64,0,1,20,28,51.94,0,0,0,1,0,0,1,0,4096,2697.7635999999998,400,784,1,10.65574706
+37,0,0,10,23,70.42,0,0,1,0,0,0,0,1,1369,4958.9764000000005,100,529,0,20.298474
+55,0,1,20,35,47.17,1,0,1,0,0,0,1,0,3025,2225.0089000000003,400,1225,1,13.61137758
+53,0,0,14,37,86.3,0,0,0,1,0,0,0,1,2809,7447.69,196,1369,1,-0.1174497
+50,1,0,15,36,71.21,0,0,0,0,0,1,0,1,2500,5070.864099999999,225,1296,0,-2.26395976
+39,0,0,5,19,94.12,1,0,0,0,0,1,0,0,1521,8858.574400000001,25,361,0,-4.76230311
+46,0,1,20,28,52.16,1,0,1,0,0,0,0,0,2116,2720.6656,400,784,0,8.62137758
+28,0,1,30,12,54.66,0,0,0,1,0,0,0,0,784,2987.7155999999995,900,144,0,3.85341573
+29,1,0,10,9,87.43,0,0,0,1,0,0,1,0,841,7644.004900000001,100,81,0,9.18517481
+26,0,0,20,8,69.97,0,1,0,1,0,0,1,0,676,4895.8009,400,64,1,7.1407029
+38,1,1,15,21,85.62,1,0,1,0,0,0,1,0,1444,7330.7844000000005,225,441,0,10.08799007
+34,0,1,15,14,46.04,1,0,0,1,0,0,1,0,1156,2119.6816,225,196,0,2.49438359
+44,1,1,10,7,93.11,0,1,0,1,0,0,0,1,1936,8669.472099999999,100,49,0,5.31954429
+52,0,0,40,35,84.37,0,0,0,0,1,0,1,0,2704,7118.296900000001,1600,1225,0,1.35895793
+57,0,1,20,27,78.13,1,0,0,0,0,0,0,1,3249,6104.296899999999,400,729,0,1.70225712
+53,1,0,12,43,59.31,1,0,1,0,0,0,1,0,2809,3517.6761,144,1849,1,9.63604024
+28,1,0,40,16,108.07,0,0,1,0,0,0,0,0,784,11679.124899999999,1600,256,0,12.58557042
+49,1,0,15,33,92.42,0,0,0,0,0,0,1,0,2401,8541.456400000001,225,1089,0,6.46313666
+47,1,0,20,31,63.5,0,0,0,0,0,0,0,0,2209,4032.25,400,961,0,0.0029318
+30,0,0,20,12,97.98,0,0,0,1,0,0,1,0,900,9600.0804,400,144,0,1.35672903
+50,0,0,20,35,62.03,0,0,0,1,0,0,1,0,2500,3847.7209000000003,400,1225,1,5.55526313
+65,0,1,40,15,75.75,1,0,0,0,0,0,0,1,4225,5738.0625,1600,225,1,1.81429527
+33,0,0,20,19,79.61,0,0,0,0,0,0,0,1,1089,6337.7521,400,361,0,8.38691978
+66,0,0,40,57,68.38,1,0,0,0,0,0,0,1,4356,4675.8243999999995,1600,3249,1,3.74118683
+44,0,1,20,24,49.44,1,0,0,1,0,0,1,0,1936,2444.3136,400,576,0,1.36234544
+46,1,1,20,21,97.41,0,0,1,0,0,0,0,1,2116,9488.7081,400,441,0,25.51353227
+49,0,0,40,33,67.81,1,0,1,0,0,0,0,1,2401,4598.1961,1600,1089,0,0.2288555
+44,0,1,25,21,71.55,0,1,1,0,0,0,0,1,1936,5119.402499999999,625,441,1,1.93196394
+28,0,0,20,11,80.74,0,0,0,0,0,1,0,1,784,6518.9475999999995,400,121,0,-3.6292971
+40,0,1,60,17,71.21,0,1,0,0,1,0,0,1,1600,5070.864099999999,3600,289,0,6.80788764
+42,1,1,20,25,103.19,1,0,0,0,0,0,0,1,1764,10648.176099999999,400,625,0,-2.94608623
+39,1,0,5,22,86.18,1,0,0,1,0,0,1,0,1521,7426.992400000001,25,484,0,-3.17259629
+33,0,1,20,15,59.19,0,0,0,1,0,0,0,1,1089,3503.4561,400,225,0,0.23060047
+55,0,0,40,30,102.63,0,0,0,0,0,1,1,0,3025,10532.916899999998,1600,900,1,-7.3756023
+25,0,1,15,7,57.72,0,0,0,0,0,1,1,0,625,3331.5984,225,49,0,-1.02095375
+56,0,0,20,41,75.64,0,0,1,0,0,0,0,0,3136,5721.4096,400,1681,0,9.63536556
+39,1,1,10,19,65.2,1,0,0,0,0,1,1,0,1521,4251.04,100,361,1,11.00351816
+57,0,0,25,36,84.03,0,0,1,0,0,0,0,1,3249,7061.0409,625,1296,1,-2.3833734
+66,0,1,20,40,56.25,1,0,0,1,0,0,1,0,4356,3164.0625,400,1600,0,-12.25154011
+58,0,1,2,30,64.64,0,0,0,0,0,0,0,1,3364,4178.3296,4,900,1,-5.6729919
+28,0,0,30,10,86.07,0,0,0,0,1,0,0,0,784,7408.044899999999,900,100,0,13.7203214
+62,0,1,15,27,66.22,1,0,1,0,0,0,0,1,3844,4385.0884,225,729,0,-7.2529919
+31,0,0,30,16,67.47,1,0,0,0,1,0,0,0,961,4552.2009,900,256,0,1.92963261
+28,0,1,20,13,53.86,1,0,0,1,0,0,0,1,784,2900.8995999999997,400,169,0,6.46778521
+27,0,1,20,13,48.76,0,0,0,1,0,0,0,1,729,2377.5375999999997,400,169,0,5.21749203
+58,0,1,3,16,86.18,1,0,0,1,0,0,0,1,3364,7426.992400000001,9,256,1,1.36332741
+27,0,1,15,11,57.04,1,0,1,0,0,0,0,1,729,3253.5616,225,121,0,-2.15532323
+27,0,0,20,7,102.06,1,0,0,1,0,0,0,1,729,10416.2436,400,49,1,16.78120094
+46,0,0,6,30,56.13,0,0,0,0,1,0,1,0,2116,3150.5769000000005,36,900,1,10.54807839
+59,0,1,5,25,42.86,0,0,0,0,0,0,0,1,3481,1836.9796,25,625,1,2.95282937
+41,0,0,30,21,67.59,0,0,0,0,0,1,1,0,1681,4568.408100000001,900,441,1,6.34555631
+65,0,1,10,56,57.07,1,0,0,0,0,0,1,0,4225,3256.9849,100,3136,0,-1.27813849
+47,0,0,15,29,67.47,0,0,0,1,0,0,0,1,2209,4552.2009,225,841,0,1.47604024
+35,0,0,40,23,84.14,0,0,0,0,0,0,1,0,1225,7079.5396,1600,529,0,6.578474
+41,0,1,20,1,67.59,0,1,0,1,0,0,0,1,1681,4568.408100000001,400,1,1,-10.89095375
+60,0,1,25,46,97.18,1,0,1,0,0,0,1,0,3600,9443.952400000002,625,2116,0,-30.50192161
+29,0,0,30,11,87.32,1,0,0,1,0,0,0,1,841,7624.782399999999,900,121,0,-8.39492762
+36,0,1,20,15,75.98,1,0,0,1,0,0,0,1,1296,5772.960400000001,400,225,1,-14.29143768
+43,0,1,15,22,61.58,1,0,1,0,0,0,1,0,1849,3792.0964,225,484,1,17.34507238
+52,0,1,15,37,56.36,0,0,0,1,0,0,1,0,2704,3176.4496,225,1369,0,3.51419284
+39,0,0,20,25,57.38,0,0,0,0,0,0,0,1,1521,3292.4644000000003,400,625,0,5.21574706
+64,0,1,40,35,54.43,1,0,0,0,1,0,1,0,4096,2962.6249,1600,1225,0,0.45467677
+50,0,1,25,26,65.54,1,0,0,0,0,1,0,1,2500,4295.491600000001,625,676,0,-2.94425294
+29,0,0,20,13,68.04,1,0,1,0,0,0,1,0,841,4629.441600000001,400,169,0,0.90604024
+54,0,1,20,36,75.75,1,0,1,0,0,0,1,0,2916,5738.0625,400,1296,0,-9.07192161
+38,0,0,20,20,72.69,1,0,0,0,0,1,1,0,1444,5283.8360999999995,400,400,0,-1.92959028
+40,0,1,1,17,56.36,0,0,0,0,0,1,1,0,1600,3176.4496,1,289,0,-0.56813849
+57,0,0,8,37,78.93,1,0,0,1,0,0,0,1,3249,6229.944900000001,64,1369,1,7.2525503
+50,0,0,1,38,91.4,0,0,0,0,0,0,0,0,2500,8353.960000000001,1,1444,0,1.13284348
+51,1,1,15,16,70.42,1,0,0,1,0,0,0,1,2601,4958.9764000000005,225,256,0,-0.11318265
+33,0,0,12,13,91.06,0,0,0,0,0,0,1,0,1089,8291.9236,144,169,0,2.38002822
+39,0,1,10,24,45.36,0,0,1,0,0,0,1,0,1521,2057.5296,100,576,0,8.16389966
+64,0,1,2,34,84.59,0,0,0,0,0,0,0,1,4096,7155.468100000001,4,1156,0,-5.21133525
+42,0,0,40,36,67.7,0,0,1,0,0,0,0,1,1764,4583.29,1600,1296,0,4.8747792
+58,0,0,20,46,62.37,0,0,1,0,0,0,0,1,3364,3890.0168999999996,400,2116,0,3.85448602
+33,0,1,40,11,59.87,0,0,1,0,0,0,1,0,1089,3584.4168999999997,1600,121,0,0.45778521
+49,0,1,20,35,64.98,1,0,0,0,0,0,1,0,2401,4222.4004,400,1225,0,4.87322498
+54,0,0,20,48,58.06,0,0,0,0,0,0,1,0,2916,3370.9636,400,2304,1,2.26778521
+45,0,1,20,26,70.42,0,0,0,1,0,0,0,1,2025,4958.9764000000005,400,676,1,-3.28832924
+37,0,1,20,19,83.46,0,0,0,0,1,0,0,1,1369,6965.571599999999,400,361,0,7.258474
+37,0,1,40,22,54.66,0,0,0,1,0,0,0,0,1369,2987.7155999999995,1600,484,0,-2.95046982
+56,0,0,10,46,67.7,1,0,0,0,0,0,1,0,3136,4583.29,100,2116,0,-1.47551398
+56,0,1,18,22,59.53,1,0,0,0,0,0,0,1,3136,3543.8209,324,484,1,-6.91328508
+38,0,0,40,22,77.22,1,0,0,0,0,0,0,1,1444,5962.9284,1600,484,0,1.70507238
+47,0,1,20,28,64.07,0,0,1,0,0,0,0,1,2209,4104.964899999999,400,784,0,3.06167076
+29,0,0,20,15,89.36,0,0,0,1,0,0,1,0,841,7985.2096,400,225,0,-2.27026496
+33,0,1,18,16,63.84,0,0,1,0,0,0,1,0,1089,4075.5456000000004,324,256,0,0.11652417
+40,0,0,20,21,90.49,0,0,0,0,0,0,0,0,1600,8188.440099999999,400,441,0,14.74342984
+36,0,1,10,18,53.64,0,0,1,0,0,0,0,1,1296,2877.2496,100,324,0,7.59496995
+51,0,0,5,29,71.1,0,0,1,0,0,0,0,0,2601,5055.209999999999,25,841,0,3.28914868
+56,0,0,20,42,81.31,0,0,0,0,0,0,1,0,3136,6611.3161,400,1764,0,-2.38492762
+43,0,0,30,28,93.78,0,0,0,1,0,0,0,1,1849,8794.688400000001,900,784,0,2.38158244
+44,0,1,20,27,58.29,1,0,0,0,0,0,0,1,1936,3397.7241,400,729,1,2.49137758
+30,0,0,20,4,72.46,0,0,0,0,0,0,0,0,900,5250.451599999999,400,16,0,10.09381134
+51,0,0,5,44,78.93,1,0,0,1,0,0,0,1,2601,6229.944900000001,25,1936,0,-0.91211236
+43,1,1,5,26,89.81,0,1,1,0,0,0,0,1,1849,8065.8361,25,676,0,-8.1633734
+38,0,1,20,14,65.88,1,0,0,1,0,0,0,1,1444,4340.174399999999,400,196,0,0.79807839
+43,0,0,5,13,72.91,0,0,0,0,0,1,0,0,1849,5315.8681,25,169,1,14.17973504
+26,0,0,20,8,79.95,0,0,0,0,0,1,1,0,676,6392.0025000000005,400,64,0,-1.47851999
+43,0,1,50,15,76.2,0,1,0,0,0,1,0,1,1849,5806.4400000000005,2500,225,0,0.9107029
+53,0,1,14,28,64.41,0,0,0,0,0,1,0,0,2809,4148.648099999999,196,784,0,0.45370891
+60,0,0,50,35,65.32,0,0,0,1,0,0,0,0,3600,4266.702399999999,2500,1225,0,-4.99221479
+30,0,1,10,12,55.34,0,0,0,1,0,0,1,0,900,3062.5156,100,144,0,-3.17687745
+26,0,1,30,8,60.44,1,0,0,1,0,0,1,0,676,3652.9936,900,64,0,1.70215469
+59,0,1,10,40,63.96,1,0,1,0,0,0,1,0,3481,4090.8816,100,1600,0,-4.08580716
+28,1,1,10,12,70.31,0,0,1,0,0,0,1,0,784,4943.4961,100,144,0,2.71837157
+54,0,1,10,32,49.44,0,0,0,1,0,0,0,1,2916,2444.3136,100,1024,0,10.88778521
+39,0,1,40,18,60.67,0,1,1,0,0,0,0,1,1521,3680.8489000000004,1600,324,0,9.18322498
+39,1,0,20,21,85.28,0,0,0,1,0,0,1,0,1521,7272.6784,400,441,0,1.80973504
+37,0,0,60,21,55.91,1,0,0,0,0,1,0,0,1369,3125.9280999999996,3600,441,0,6.23215469
+26,0,1,20,7,54.54,1,0,0,0,0,1,1,0,676,2974.6115999999997,400,49,0,8.9629318
+45,0,0,40,30,79.38,0,0,0,1,0,0,1,0,2025,6301.184399999999,1600,900,1,-0.45492762
+33,0,1,4,13,67.13,0,0,0,1,0,0,0,1,1089,4506.4369,16,169,0,-3.6270682
+45,0,0,20,40,80.74,1,0,0,0,0,0,0,1,2025,6518.9475999999995,400,1600,0,-5.44366658
+62,0,0,6,46,77.68,0,0,0,0,0,1,0,0,3844,6034.1824000000015,36,2116,0,11.22410452
+32,1,1,1,2,82.67,0,0,1,0,0,0,0,1,1024,6834.3289,1,4,0,9.86284348
+52,0,1,5,1,66.45,1,0,0,1,0,0,1,0,2704,4415.6025,25,1,1,8.39274105
+56,0,0,20,36,80.06,1,0,0,1,0,0,0,1,3136,6409.6036,400,1296,1,-1.13492762
+50,0,0,20,26,86.52,1,0,0,0,0,1,1,0,2500,7485.710399999999,400,676,0,1.93051215
+46,0,1,20,28,52.84,0,0,1,0,0,0,0,1,2116,2792.0656000000004,400,784,0,-3.39843167
+44,1,1,10,26,80.74,1,0,0,0,0,0,0,1,1936,6518.9475999999995,100,676,0,2.26740371
+46,0,0,35,33,59.19,1,0,1,0,0,0,0,1,2116,3503.4561,1225,1089,1,7.03448602
+66,1,0,5,48,58.17,1,0,0,0,0,0,0,1,4356,3383.7489,25,2304,1,-7.82124693
+69,0,1,15,13,88.22,1,0,0,0,0,0,0,1,4761,7782.7684,225,169,1,2.498474
+46,0,1,10,26,60.67,0,1,0,0,0,0,0,1,2116,3680.8489000000004,100,676,1,3.28652417
+32,0,1,10,14,65.2,1,0,0,1,0,0,0,1,1024,4251.04,100,196,1,4.65322498
+50,0,0,20,32,67.25,0,0,0,1,0,0,1,0,2500,4522.5625,400,1024,1,9.8607029
+54,0,1,20,34,72.46,0,0,1,0,0,0,1,0,2916,5250.451599999999,400,1156,0,2.38274105
+46,0,0,30,28,77.0,0,0,0,0,0,1,0,0,2116,5929.0,900,784,0,7.82177319
+31,1,1,20,13,71.44,1,0,0,1,0,0,0,1,961,5103.6736,400,169,0,-5.66910635
+33,0,0,30,19,86.41,0,0,0,1,0,0,0,0,1089,7466.688099999999,900,361,0,1.58691978
+34,0,1,5,17,50.8,1,0,1,0,0,0,1,0,1156,2580.64,25,289,1,9.07419284
+46,0,0,20,30,82.21,1,0,0,1,0,0,1,0,2116,6758.484099999999,400,900,0,-3.73851999
+56,0,0,30,37,95.37,0,0,0,1,0,0,1,0,3136,9095.4369,900,1369,0,-1.92997178
+58,0,1,10,44,79.38,0,0,0,1,0,0,0,0,3364,6301.184399999999,100,1936,1,10.88488163
+52,0,1,18,22,68.49,0,1,0,0,0,1,0,1,2704,4690.880099999999,324,484,0,-0.90473687
+50,0,0,20,32,77.0,1,0,1,0,0,0,0,1,2500,5929.0,400,1024,0,-1.70366658
+30,1,1,10,5,77.11,1,0,0,1,0,0,1,0,900,5945.9520999999995,100,25,0,4.5366266
+60,0,0,40,42,86.41,0,0,0,1,0,0,0,1,3600,7466.688099999999,1600,1764,0,4.76206637
+25,1,1,19,5,60.44,1,0,0,1,0,0,1,0,625,3652.9936,361,25,0,5.33089365
+47,0,0,20,26,81.87,1,0,0,0,0,1,0,1,2209,6702.696900000001,400,676,0,2.04458845
+34,0,0,20,17,71.21,0,1,0,1,0,0,0,0,1156,5070.864099999999,400,289,1,10.89021897
+32,0,0,20,16,81.65,0,0,0,1,0,0,0,0,1024,6666.722500000001,400,256,0,8.16128926
+47,0,0,36,30,70.42,1,0,0,0,1,0,1,0,2209,4958.9764000000005,1296,900,0,0.34040972
+34,0,1,30,20,76.77,1,0,0,1,0,0,0,1,1156,5893.6329,900,400,0,-2.83444369
+37,0,0,20,19,86.41,1,0,0,0,1,0,1,0,1369,7466.688099999999,400,361,0,3.40128926
+32,0,1,1,16,53.41,0,0,0,1,0,0,1,0,1024,2852.6280999999994,1,256,0,2.83545388
+46,0,0,20,32,74.39,1,0,0,1,0,0,0,1,2116,5533.8721000000005,400,1024,0,-11.34066057
+50,0,1,20,33,72.23,0,0,0,0,1,0,1,0,2500,5217.1729000000005,400,1089,0,7.60225712
+29,0,1,10,13,82.55,1,0,0,0,0,0,1,0,841,6814.5025,100,169,0,1.81818082
+26,0,0,1,13,90.15,1,0,0,1,0,0,1,0,676,8127.022500000001,1,169,0,20.07294591
+44,0,0,40,27,101.83,0,0,0,1,0,0,0,1,1936,10369.348899999999,1600,729,1,2.4962451
+31,0,0,20,17,63.28,0,0,0,1,0,0,0,1,961,4004.3584,400,289,1,18.3666266
+62,0,0,20,52,70.31,0,1,0,0,0,0,0,1,3844,4943.4961,400,2704,1,-1.36395976
+39,0,1,20,26,60.55,0,0,1,0,0,0,1,0,1521,3666.3025,400,676,0,5.67448602
+27,0,0,20,8,81.65,0,0,0,1,0,0,0,0,729,6666.722500000001,400,64,0,1.81099608
+48,0,1,20,32,58.4,1,0,0,1,0,0,1,0,2304,3410.56,400,1024,0,6.01011654
+52,0,1,20,31,54.32,1,0,1,0,0,0,1,0,2704,2950.6624,400,961,0,1.92545388
+47,0,0,40,30,74.5,1,0,1,0,0,0,1,0,2209,5550.25,1600,900,1,18.48643585
+57,1,0,20,35,62.71,0,0,0,0,0,0,1,0,3249,3932.5441,400,1225,0,-1.92862242
+42,0,0,20,26,68.15,0,0,1,0,0,0,1,0,1764,4644.422500000001,400,676,1,21.20769689
+39,1,1,15,22,83.69,0,0,0,0,1,0,1,0,1521,7004.0161,225,484,0,7.48206637
+63,0,0,20,44,76.88,1,0,0,1,0,0,1,0,3969,5910.5344,400,1936,0,5.67381134
+56,0,1,20,33,52.5,1,0,0,1,0,0,1,0,3136,2756.25,400,1089,0,0.11671492
+26,0,0,30,11,59.53,0,0,0,1,0,0,0,0,676,3543.8209,900,121,0,4.88011654
+27,0,0,20,9,81.42,1,0,0,0,1,0,0,1,729,6629.2164,400,81,0,7.03051215
+40,0,0,20,24,72.8,0,0,0,1,0,0,1,0,1600,5299.839999999999,400,576,0,-0.2252208
+30,0,0,20,12,76.66,0,0,0,1,0,0,0,0,900,5876.7555999999995,400,144,0,2.26507238
+26,0,1,20,9,51.14,1,0,0,1,0,0,1,0,676,2615.2996000000003,400,81,0,-1.2448393
+50,0,1,10,29,60.89,0,0,0,0,1,0,1,0,2500,3707.5921,100,841,0,1.25215469
+68,0,0,40,50,99.68,1,0,0,0,1,0,1,0,4624,9936.102400000002,1600,2500,0,-4.4256023
+68,0,0,10,48,68.15,0,0,0,0,0,0,0,1,4624,4644.422500000001,100,2304,1,-4.6470682
+33,0,0,30,13,70.87,0,0,0,0,0,1,1,0,1089,5022.5569000000005,900,169,1,17.58051215
+55,0,0,20,35,66.9,0,0,1,0,0,0,0,0,3025,4475.610000000001,400,1225,0,-4.75784531
+34,0,0,30,18,59.53,1,0,1,0,0,0,1,0,1156,3543.8209,900,324,1,14.40555631
+29,0,1,7,9,62.48,0,0,0,1,0,0,1,0,841,3903.7503999999994,49,81,0,1.93011654
+42,0,1,1,24,93.55,0,0,0,1,0,0,0,1,1764,8751.602499999999,1,576,1,6.2403214
+39,0,1,2,5,78.02,0,0,1,0,0,0,1,0,1521,6087.1204,4,25,1,-0.00211236
+43,0,0,10,29,99.9,1,0,0,1,0,0,1,0,1849,9980.010000000002,100,841,0,-0.56327097
+44,0,0,40,27,60.1,0,0,1,0,0,0,0,1,1936,3612.01,1600,729,0,-3.40095375
+47,0,0,20,29,64.18,0,0,0,0,0,0,1,0,2209,4119.072400000001,400,841,0,2.04448602
+69,0,0,20,54,78.81,1,0,0,1,0,0,1,0,4761,6211.016100000001,400,2916,1,-2.15288947
+41,0,0,20,27,68.15,0,0,0,1,0,0,0,0,1681,4644.422500000001,400,729,0,11.22866475
+53,0,0,10,44,76.88,0,0,0,0,0,0,1,0,2809,5910.5344,100,1936,1,22.9103214
+55,0,1,20,34,57.15,0,1,0,0,0,0,0,1,3025,3266.1225,400,1156,0,-4.07969271
+49,0,0,20,33,79.27,0,0,0,1,0,0,0,0,2401,6283.732899999999,400,1089,0,-1.25211236
+68,0,0,40,50,65.2,1,0,0,1,0,0,1,0,4624,4251.04,1600,2500,1,-0.33629109
+39,0,0,20,21,85.62,1,0,0,0,0,1,0,1,1521,7330.7844000000005,400,441,1,0.5625503
+37,0,0,20,18,101.04,0,0,0,1,0,0,0,0,1369,10209.081600000001,400,324,0,0.56469088
+50,0,0,10,35,88.9,0,0,0,0,0,0,1,0,2500,7903.210000000001,100,1225,1,-16.77881317
+50,0,0,30,38,66.45,0,0,0,1,0,0,1,0,2500,4415.6025,900,1444,0,12.47507238
+54,0,1,10,32,48.87,1,0,0,1,0,0,0,1,2916,2388.2769,100,1024,0,-3.510763
+65,0,0,40,49,121.0,1,0,0,0,0,0,0,1,4225,14641.0,1600,2401,0,-23.47764045
+55,0,1,20,35,64.64,0,0,0,0,0,0,1,0,3025,4178.3296,400,1225,0,3.3988555
+36,0,1,20,22,65.54,0,0,0,1,0,0,1,0,1296,4295.491600000001,400,484,0,1.59167076
+31,0,1,15,3,57.27,1,0,0,0,1,0,0,1,961,3279.8529000000003,225,9,0,8.95448602
+68,0,0,3,38,92.19,1,0,0,0,0,0,1,0,4624,8498.9961,9,1444,1,3.97158244
+53,0,0,10,34,69.17,0,0,0,1,0,0,1,0,2809,4784.4889,100,1156,1,4.31196394
+46,0,1,30,21,63.16,0,1,0,0,0,0,0,1,2116,3989.1856,900,441,0,-4.1929919
+38,0,0,40,20,84.14,1,0,0,1,0,0,1,0,1444,7079.5396,1600,400,0,-0.22541155
+51,0,0,20,35,58.51,0,0,1,0,0,0,0,0,2601,3423.4201,400,1225,1,0.4570081
+57,0,1,20,40,74.16,0,0,1,0,0,0,1,0,3249,5499.705599999999,400,1600,0,-1.5852208
+34,0,1,15,13,68.61,1,0,0,1,0,0,0,1,1156,4707.3321,225,169,1,-9.6429919
+42,0,1,20,15,71.67,0,1,1,0,0,0,0,1,1764,5136.588900000001,400,225,0,-2.72395976
+39,0,0,30,24,76.2,1,0,1,0,0,0,1,0,1521,5806.4400000000005,900,576,0,-3.6252208
+47,0,1,18,28,60.1,0,0,0,1,0,0,0,1,2209,3612.01,324,784,0,-1.1329919
+31,0,0,20,15,80.97,0,1,0,0,0,1,0,1,961,6556.140899999999,400,225,0,7.02691978
+44,0,1,10,25,75.64,1,0,0,1,0,0,0,1,1936,5721.4096,100,625,0,-2.61162843
+55,0,1,20,37,54.43,1,0,0,0,0,0,0,1,3025,2962.6249,400,1369,0,0.0010844
+29,0,1,17,13,74.5,1,0,1,0,0,0,0,1,841,5550.25,289,169,0,12.58973504
+25,0,0,20,9,82.67,1,0,0,0,0,1,1,0,625,6834.3289,400,81,1,1.69818082
+28,0,1,10,7,60.44,1,0,0,1,0,0,0,1,784,3652.9936,100,49,1,3.97011654
+27,0,1,30,10,46.61,1,0,0,1,0,0,1,0,729,2172.4921,900,100,0,7.8210844
+49,0,1,5,8,69.74,0,1,0,1,0,0,0,1,2401,4863.667599999999,25,64,0,-15.3089156
+43,1,0,20,28,107.84,1,0,0,0,0,0,0,1,1849,11629.465600000001,400,784,0,0.56857643
+53,1,1,10,35,52.05,1,0,0,0,0,0,0,1,2809,2709.2025,100,1225,0,2.3810844
+33,0,1,5,14,47.63,0,1,0,1,0,0,0,1,1089,2268.6169000000004,25,196,1,1.35797596
+57,0,1,10,27,52.96,0,0,0,1,0,0,0,0,3249,2804.7616000000003,100,729,0,6.91419284
+61,0,0,10,31,73.03,0,0,0,1,0,0,0,1,3721,5333.3809,100,961,1,11.79177319
+55,0,1,2,37,102.06,1,0,0,0,0,0,0,1,3025,10416.2436,4,1369,1,0.45187562
+25,0,1,20,8,57.95,1,0,0,0,0,1,1,0,625,3358.2025000000003,400,64,0,-1.70454612
+50,0,0,30,35,78.02,0,0,0,1,0,0,1,0,2500,6087.1204,900,1225,0,7.70895793
+33,0,0,30,15,77.0,0,0,0,1,0,0,0,0,1089,5929.0,900,225,0,-0.79648184
+35,0,1,25,19,96.84,0,1,0,1,0,0,0,0,1225,9377.9856,625,361,0,30.61945597
+50,0,0,10,30,76.88,0,1,0,1,0,0,0,0,2500,5910.5344,100,900,0,-2.49085132
+54,0,0,40,37,72.35,0,1,0,1,0,0,1,0,2916,5234.522499999999,1600,1369,1,7.48225712
+57,0,0,5,39,72.8,1,0,0,1,0,0,1,0,3249,5299.839999999999,25,1521,1,13.3825503
+44,0,1,2,9,72.12,1,0,0,1,0,0,1,0,1936,5201.294400000001,4,81,1,5.89788764
+51,0,1,20,25,61.35,0,0,0,1,0,0,1,0,2601,3763.8225,400,625,0,4.87448602
+46,0,1,3,26,69.51,0,0,0,1,0,0,1,0,2116,4831.6401000000005,9,676,1,3.97196394
+26,0,0,20,10,89.02,0,0,0,1,0,0,0,0,676,7924.560399999999,400,100,0,-5.10541155
+63,0,1,20,33,56.36,0,0,0,1,0,0,0,1,3969,3176.4496,400,1089,1,-0.56813849
+31,0,1,15,13,58.17,0,0,0,1,0,0,0,1,961,3383.7489,225,169,1,2.61137758
+56,0,0,15,35,73.82,1,0,1,0,0,0,0,1,3136,5449.392399999999,225,1225,0,-0.79162843
+70,0,0,1,53,69.51,0,0,1,0,0,0,0,1,4900,4831.6401000000005,1,2809,1,-3.28551398
+27,0,0,15,7,77.45,0,1,0,0,0,1,1,0,729,5998.5025000000005,225,49,0,-4.42162843
+28,0,1,1,10,55.34,0,0,0,1,0,0,1,0,784,3062.5156,1,100,0,-3.17687745
+46,0,0,20,32,65.2,0,0,0,1,0,0,0,1,2116,4251.04,400,1024,0,7.3747792
+42,0,1,15,22,75.41,0,0,0,1,0,0,1,0,1764,5686.6681,225,484,0,10.31895793
+25,0,1,20,4,51.26,1,0,0,0,0,1,0,0,625,2627.5876,400,16,0,6.79982336
+44,0,0,3,24,90.61,0,0,0,0,0,1,1,0,1936,8210.1721,9,576,0,6.45876718
+58,0,0,20,41,85.96,1,0,0,0,0,0,0,1,3364,7389.121599999999,400,1681,0,-1.59181918
+46,0,0,30,30,111.47,1,0,0,0,0,1,1,0,2116,12425.5609,900,900,1,14.17508649
+33,0,0,20,14,85.96,1,0,0,0,0,1,1,0,1089,7389.121599999999,400,196,1,-1.59181918
+45,0,0,30,26,89.7,1,0,0,0,0,0,1,0,2025,8046.09,900,676,1,7.36876718
+63,0,1,20,10,48.19,1,0,0,0,0,0,1,0,3969,2322.2760999999996,400,100,0,-5.55231722
+54,0,1,2,34,98.32,0,0,0,1,0,0,0,1,2916,9666.8224,4,1156,0,-1.25123282
+54,0,0,40,46,77.9,1,0,0,0,0,0,0,1,2916,6068.410000000001,1600,2116,0,2.83944186
+45,0,0,30,30,105.46,0,0,1,0,0,0,0,1,2025,11121.811599999999,900,900,0,13.83479331
+57,0,0,30,41,74.62,0,1,0,0,0,0,1,0,3249,5568.144400000001,900,1681,1,4.30507238
+62,0,1,2,22,71.55,0,1,0,1,0,0,0,1,3844,5119.402499999999,4,484,1,1.0247792
+52,0,1,20,27,72.91,1,0,0,1,0,0,0,1,2704,5315.8681,400,729,0,0.57196394
+40,0,1,5,20,63.05,0,0,1,0,0,0,0,0,1600,3975.3025,25,400,0,7.25681735
+58,0,1,40,36,72.35,1,0,0,0,0,0,0,1,3364,5234.522499999999,1600,1296,0,-0.68240554
+60,0,0,20,40,68.04,0,0,0,0,0,0,1,0,3600,4629.441600000001,400,1600,0,7.25633342
+67,0,0,20,55,55.34,1,0,0,1,0,0,1,0,4489,3062.5156,400,3025,0,-0.9089156
+50,0,1,40,33,84.59,0,0,1,0,0,0,0,1,2500,7155.468100000001,1600,1089,0,0.23177319
+62,0,1,10,47,78.7,1,0,1,0,0,0,1,0,3844,6193.6900000000005,100,2209,0,-8.39318265
+59,0,1,7,39,56.7,1,0,0,1,0,0,0,1,3481,3214.8900000000003,49,1521,1,-2.72250797
+29,0,0,20,12,62.94,1,0,0,1,0,0,1,0,841,3961.4435999999996,400,144,0,5.0988555
+48,0,0,40,29,67.7,0,0,0,1,0,0,1,0,2304,4583.29,1600,841,0,-1.92910635
+66,0,0,60,52,76.2,1,0,0,0,1,0,0,1,4356,5806.4400000000005,3600,2704,1,0.9107029
+48,0,1,10,28,72.8,1,0,0,1,0,0,1,0,2304,5299.839999999999,100,784,0,6.12507238
+61,0,1,20,45,78.13,1,0,1,0,0,0,0,1,3721,6104.296899999999,400,2025,0,8.0525503
+37,0,0,20,19,58.17,0,0,0,1,0,0,0,0,1369,3383.7489,400,361,0,0.7970081
+27,0,1,20,7,56.36,0,0,0,0,1,0,0,1,729,3176.4496,400,49,0,1.69982336
+69,1,1,10,64,98.88,1,0,0,0,0,0,0,1,4761,9777.2544,100,4096,0,-12.24385733
+28,0,1,30,4,46.72,0,0,0,1,0,0,1,0,784,2182.7583999999997,900,16,0,3.62875307
+40,0,1,10,20,65.88,0,0,0,0,0,1,1,0,1600,4340.174399999999,100,400,1,5.33400209
+54,0,1,20,38,46.15,0,0,1,0,0,0,0,1,2916,2129.8224999999998,400,1444,0,1.47719885
+39,0,0,40,24,84.94,0,0,1,0,0,0,0,1,1521,7214.803599999999,1600,576,1,23.01498406
+29,0,0,30,14,99.9,0,0,0,1,0,0,0,0,841,9980.010000000002,900,196,0,-2.37764045
+39,0,1,30,19,51.26,0,0,0,1,0,0,0,1,1521,2627.5876,900,361,0,9.97496995
+48,0,0,30,28,88.0,0,0,0,0,0,0,0,1,2304,7744.0,900,784,0,9.52235955
+25,0,1,20,8,100.81,0,1,0,1,0,0,0,1,625,10162.6561,400,64,0,2.60906036
+50,0,0,20,31,63.39,0,0,0,1,0,0,0,1,2500,4018.2921,400,961,1,4.6488555
+66,0,1,6,44,75.18,1,0,0,0,0,1,1,0,4356,5652.032400000001,36,1936,0,-2.6052208
+56,0,1,20,30,61.69,1,0,0,1,0,0,0,1,3136,3805.6560999999997,400,900,0,2.72011654
+52,0,0,30,36,76.32,0,0,0,0,0,0,0,1,2704,5824.742399999999,900,1296,0,1.24429527
+70,0,1,10,15,78.02,0,0,0,0,0,0,0,1,4900,6087.1204,100,225,0,-13.60988346
+60,1,0,15,40,82.78,1,0,0,0,0,0,1,0,3600,6852.5284,225,1600,1,5.21691978
+45,0,0,10,22,79.95,1,0,0,1,0,0,0,1,2025,6392.0025000000005,100,484,0,0.33584949
+34,0,0,20,16,100.02,1,0,0,0,0,1,1,0,1156,10004.000399999999,400,256,0,2.03828325
+54,0,0,20,30,82.67,0,0,0,1,0,0,0,0,2916,6834.3289,400,900,0,1.24458845
+39,0,1,10,24,50.01,0,0,0,0,0,0,0,1,1521,2501.0000999999997,100,576,0,6.23545388
+52,0,0,40,34,80.74,0,0,0,0,0,0,1,0,2704,6518.9475999999995,1600,1156,0,1.81381134
+65,0,1,20,33,64.86,1,0,1,0,0,0,0,1,4225,4206.8196,400,1089,0,-14.05765456
+55,0,0,15,41,64.98,0,0,1,0,0,0,0,0,3025,4222.4004,225,1681,0,-2.38425294
+52,0,1,20,38,64.75,1,0,0,1,0,0,0,1,2704,4192.5625,400,1444,0,-2.60784531
+57,0,0,5,33,59.19,1,0,0,0,0,1,0,1,3249,3503.4561,25,1089,0,4.76652417
+30,0,0,40,12,78.47,1,0,1,0,0,0,1,0,900,6157.5409,1600,144,0,5.44458845
+60,0,1,20,44,68.04,1,0,1,0,0,0,0,1,3600,4629.441600000001,400,1936,0,7.25633342
+48,0,1,15,18,64.3,0,1,0,0,0,0,0,1,2304,4134.49,225,324,0,8.2747792
+49,0,0,20,32,76.66,1,0,0,0,1,0,1,0,2401,5876.7555999999995,400,1024,0,6.80099608
+41,0,0,4,23,76.09,0,0,0,1,0,0,1,0,1681,5789.6881,16,529,0,3.74225712
+49,0,1,15,30,75.98,0,0,0,1,0,0,1,0,2401,5772.960400000001,225,900,0,9.29536556
+38,0,0,40,22,78.13,0,0,0,1,0,0,0,1,1444,6104.296899999999,1600,484,0,3.97021897
+67,0,0,20,46,74.96,1,0,0,0,0,0,0,1,4489,5619.001599999999,400,2116,1,6.6866266
+42,0,1,40,23,76.09,1,0,0,1,0,0,1,0,1764,5789.6881,1600,529,0,1.0207029
+26,0,0,20,8,67.7,0,0,0,1,0,0,0,0,676,4583.29,400,64,0,7.59633342
+50,0,1,40,29,56.47,1,0,0,1,0,0,0,1,2500,3188.8608999999997,1600,841,0,-9.74998589
+51,0,1,20,29,60.21,0,0,1,0,0,0,1,0,2601,3625.2441,400,841,0,1.93215469
+36,0,0,15,21,67.13,1,0,0,1,0,0,1,0,1296,4506.4369,225,441,0,3.17681735
+32,0,0,5,16,69.74,1,0,0,1,0,0,1,0,1024,4863.667599999999,25,256,0,0.11322498
+53,0,1,6,39,56.81,0,0,0,1,0,0,0,0,2809,3227.3761000000004,36,1521,1,-1.92532323
+29,0,0,20,13,57.95,0,0,1,0,0,0,1,0,841,3358.2025000000003,400,169,0,10.54244787
+39,0,1,30,21,55.11,1,0,0,0,1,0,1,0,1521,3037.1121,900,441,1,7.48574706
+29,0,0,20,12,68.49,0,0,0,0,1,0,0,0,841,4690.880099999999,400,144,0,5.44555631
+31,0,0,15,15,74.05,1,0,0,0,0,1,0,0,961,5483.402499999999,225,225,1,3.0607029
+50,0,0,30,33,80.06,0,0,1,0,0,0,1,0,2500,6409.6036,900,1089,0,2.49381134
+48,1,0,10,10,80.51,0,0,0,0,0,0,0,1,2304,6481.860100000001,100,100,1,5.6725503
+28,0,0,40,13,103.99,1,0,0,1,0,0,1,0,784,10813.9201,1600,169,0,6.23294591
+31,0,1,30,13,48.76,0,0,0,1,0,0,0,1,961,2377.5375999999997,900,169,0,1.58875307
+45,0,1,40,25,63.16,0,0,1,0,0,0,0,0,2025,3989.1856,1600,625,0,-0.56425294
+29,0,1,40,14,90.83,1,0,0,0,1,0,0,1,841,8250.088899999999,1600,196,0,-1.92589548
+45,0,1,30,30,46.49,0,0,1,0,0,0,1,0,2025,2161.3201000000004,900,900,0,1.59079122
+51,0,0,4,28,73.6,0,0,1,0,0,0,1,0,2601,5416.959999999999,16,784,0,3.05711053
+68,1,1,2,40,66.22,1,0,0,0,0,0,0,1,4624,4385.0884,4,1600,0,-14.51046982
+41,0,0,40,26,91.97,1,0,0,1,0,0,1,0,1681,8458.4809,1600,676,0,3.2843977
+51,0,1,30,38,75.52,1,0,0,1,0,0,0,1,2601,5703.270399999999,900,1444,1,6.1266266
+58,0,1,8,28,84.82,1,0,1,0,0,0,1,0,3364,7194.432399999999,64,784,0,2.72332741
+55,1,0,20,39,86.75,1,0,0,0,0,0,0,1,3025,7525.5625,400,1521,1,17.5762451
+56,0,0,20,38,73.48,0,0,1,0,0,0,1,0,3136,5399.3104,400,1444,0,5.44507238
+51,0,0,16,36,60.78,0,0,0,1,0,0,0,1,2601,3694.2084,256,1296,0,8.16604024
+50,0,1,20,12,60.1,0,0,0,1,0,0,0,1,2500,3612.01,400,144,0,9.75322498
+34,0,0,20,18,73.37,0,0,0,1,0,0,0,0,1156,5383.156900000001,400,324,0,6.46225712
+65,0,0,20,49,70.31,1,0,1,0,0,0,1,0,4225,4943.4961,400,2401,0,2.2647792
+43,0,1,8,2,59.31,0,0,1,0,0,0,1,0,1849,3517.6761,64,4,0,0.56419284
+45,0,1,25,27,50.12,0,0,0,1,0,0,0,1,2025,2512.0143999999996,625,729,1,19.73322498
+62,0,0,20,37,80.17,0,0,1,0,0,0,1,0,3844,6427.2289,400,1369,0,-5.78085132
+34,0,0,20,15,83.8,0,0,0,0,1,0,0,1,1156,7022.44,400,225,1,12.36158244
+40,0,0,6,32,97.07,0,0,0,1,0,0,0,1,1600,9422.584899999998,36,1024,1,-1.8156023
+56,0,0,20,37,68.38,0,0,0,0,0,1,0,1,3136,4675.8243999999995,400,1369,0,-3.96988346
+33,0,0,20,15,66.11,1,0,0,0,1,0,1,0,1089,4370.5321,400,225,0,4.65040972
+29,0,1,30,10,52.84,0,0,0,1,0,0,1,0,841,2792.0656000000004,900,100,1,5.21982336
+30,0,1,8,9,50.92,0,0,1,0,0,0,0,1,900,2592.8464000000004,64,81,0,5.32545388
+50,0,1,30,32,89.7,0,0,0,1,0,0,0,1,2500,8046.09,900,1024,0,2.83284348
+56,0,1,15,40,53.75,0,0,0,0,0,0,0,1,3136,2889.0625,225,1600,0,-6.12280115
+31,0,1,55,14,56.59,0,0,1,0,0,0,1,0,961,3202.4281000000005,3025,196,0,4.19137758
+47,0,0,20,27,67.7,1,0,1,0,0,0,0,0,2209,4583.29,400,729,0,3.06040972
+45,0,0,40,28,79.72,0,0,0,0,0,0,0,1,2025,6355.2784,1600,784,1,-7.1452208
+63,0,1,10,39,62.26,0,0,1,0,0,0,0,0,3969,3876.3075999999996,100,1521,0,-1.02503005
+48,0,1,20,32,56.81,0,0,0,1,0,0,0,0,2304,3227.3761000000004,400,1024,1,1.24982336
+35,0,1,20,17,64.52,1,0,0,1,0,0,1,0,1225,4162.8304,400,289,1,16.67303423
+54,0,1,20,29,62.94,0,0,0,1,0,0,1,0,2916,3961.4435999999996,400,841,0,-3.51939953
+42,0,0,40,22,76.54,0,0,0,0,0,1,0,0,1764,5858.371600000001,1600,484,0,4.19944186
+34,0,0,50,17,71.78,0,0,0,1,0,0,0,1,1156,5152.3684,2500,289,0,3.06274105
+40,0,0,20,25,73.82,0,0,1,0,0,0,1,0,1600,5449.392399999999,400,625,1,-3.96677502
+48,0,0,30,32,96.73,1,0,0,1,0,0,1,0,2304,9356.6929,900,1024,0,-1.02200993
+48,0,1,30,30,87.54,1,0,0,0,0,0,0,1,2304,7663.251600000001,900,900,0,-6.34696577
+46,0,1,40,19,71.21,1,0,0,1,0,0,0,1,2116,5070.864099999999,1600,361,0,-7.25347583
+56,0,1,30,36,69.51,1,0,1,0,0,0,1,0,3136,4831.6401000000005,900,1296,0,-6.0070682
+26,0,0,10,3,70.42,0,0,0,0,0,0,1,0,676,4958.9764000000005,100,9,0,2.1547792
+51,0,0,46,30,84.25,1,0,0,0,0,1,1,0,2601,7098.0625,2116,900,1,-4.87133525
+48,0,0,10,27,88.22,0,0,1,0,0,0,1,0,2304,7782.7684,100,729,1,12.93109851
+29,0,1,8,9,51.37,1,0,0,0,0,1,1,0,841,2638.8768999999998,64,81,0,1.24671492
+50,0,0,20,32,61.69,0,1,0,0,0,1,1,0,2500,3805.6560999999997,400,1024,1,4.08089365
+45,0,0,26,26,76.32,1,0,0,0,0,0,0,1,2025,5824.742399999999,676,676,1,5.3266266
+39,0,1,20,19,76.88,0,0,0,1,0,0,1,0,1521,5910.5344,400,361,0,16.10643585
+35,0,1,50,17,62.37,1,0,0,0,0,1,1,0,1225,3890.0168999999996,2500,289,0,-5.21736138
+52,0,0,35,7,88.22,1,0,0,0,0,1,0,0,2704,7782.7684,1225,49,0,-14.28444369
+65,0,0,20,51,71.1,1,0,0,0,0,0,0,0,4225,5055.209999999999,400,2601,0,-3.96832924
+26,0,0,15,7,76.88,0,0,0,0,0,1,1,0,676,5910.5344,225,49,0,0.2307029
+58,0,0,40,42,75.07,0,1,0,1,0,0,0,1,3364,5635.504899999999,1600,1764,0,-0.22725895
+28,0,0,20,10,79.38,1,0,0,0,0,1,1,0,784,6301.184399999999,400,100,1,9.07051215
+44,0,1,20,22,53.52,0,1,0,1,0,0,0,1,1936,2864.3904,400,484,0,4.53982336
+50,0,1,20,31,60.78,0,0,0,1,0,0,0,1,2500,3694.2084,400,961,0,1.36215469
+39,0,0,5,17,81.87,1,0,0,0,1,0,1,0,1521,6702.696900000001,25,289,0,9.30206637
+38,1,1,6,20,72.35,1,0,0,1,0,0,1,0,1444,5234.522499999999,36,400,1,10.65740371
+54,0,1,40,40,89.13,0,1,0,1,0,0,0,1,2916,7944.156899999999,1600,1600,0,1.588474
+56,0,1,50,32,59.65,0,0,0,0,1,0,0,1,3136,3558.1225,2500,1024,1,3.8529318
+32,0,1,20,14,75.75,1,0,1,0,0,0,0,1,1024,5738.0625,400,196,0,9.07177319
+33,0,0,30,18,77.22,1,0,0,1,0,0,1,0,1089,5962.9284,900,324,0,7.14818082
+28,0,1,50,12,56.81,0,1,0,1,0,0,1,0,784,3227.3761000000004,2500,144,0,12.13604024
+28,0,1,40,14,92.42,1,0,1,0,0,0,1,0,784,8541.456400000001,1600,196,0,-7.59822681
+58,0,1,11,28,61.35,1,0,1,0,0,0,0,1,3364,3763.8225,121,784,0,-7.82610034
+26,0,1,15,8,46.38,0,0,1,0,0,0,0,0,676,2151.1044,225,64,0,5.32953018
+49,0,0,20,27,73.14,1,0,0,1,0,0,1,0,2401,5349.4596,400,729,0,5.33148001
+27,0,0,5,15,80.29,0,0,0,1,0,0,0,0,729,6446.484100000001,25,225,0,0.44944186
+31,0,0,12,10,90.72,0,0,0,1,0,0,0,0,961,8230.1184,144,100,0,5.44158244
+26,0,1,20,9,71.67,0,0,1,0,0,0,0,1,676,5136.588900000001,400,81,0,3.17274105
+46,0,0,30,32,78.7,0,0,0,0,1,0,0,0,2116,6193.6900000000005,900,1024,0,3.85381134
+27,0,1,10,5,48.65,1,0,0,1,0,0,1,0,729,2366.8224999999998,100,25,0,5.7810844
+32,0,1,40,17,69.17,1,0,0,1,0,0,1,0,1024,4784.4889,1600,289,0,5.21914868
+58,0,1,4,35,51.03,0,0,0,1,0,0,1,0,3364,2604.0609,16,1225,0,2.49389966
+27,0,1,20,6,62.6,0,0,0,0,0,1,0,0,729,3918.76,400,36,0,-2.27221479
+25,0,1,20,5,43.77,0,0,1,0,0,0,0,0,625,1915.8129000000004,400,25,0,2.95001411
+46,0,1,20,21,46.49,1,0,0,0,0,1,0,0,2116,2161.3201000000004,400,441,1,18.82730128
+45,0,0,20,26,57.04,0,0,0,1,0,0,1,0,2025,3253.5616,400,676,0,-3.06250797
+48,0,1,20,28,63.84,1,0,0,1,0,0,0,1,2304,4075.5456000000004,400,784,0,-10.76969271
+47,0,1,10,21,59.76,1,0,0,1,0,0,1,0,2209,3571.2576,100,441,0,-3.96813849
+32,0,1,4,14,64.64,1,0,1,0,0,0,1,0,1024,4178.3296,16,196,1,1.58448602
+53,0,1,8,33,86.52,0,1,0,0,0,0,1,0,2809,7485.710399999999,64,1089,0,-14.39881317
+35,0,0,20,16,76.54,1,0,0,1,0,0,1,0,1225,5858.371600000001,400,256,0,-5.32599791
+29,0,1,20,10,57.04,0,0,1,0,0,0,1,0,841,3253.5616,400,100,1,10.09167076
+43,0,1,20,27,66.22,0,0,1,0,0,0,0,0,1849,4385.0884,400,729,0,9.07633342
+41,0,0,20,22,68.38,0,1,0,0,0,1,1,0,1681,4675.8243999999995,400,484,1,13.72021897
+54,0,1,20,40,70.19,0,0,1,0,0,0,1,0,2916,4926.6361,400,1600,0,12.81740371
+56,0,0,50,39,59.65,0,0,0,1,0,0,0,0,3136,3558.1225,2500,1521,0,9.29604024
+36,0,1,10,23,106.82,1,0,0,0,0,0,0,1,1296,11410.512399999998,100,529,1,-7.0296786
+32,0,0,30,16,66.56,0,0,0,1,0,0,0,1,1024,4430.2336000000005,900,256,0,-0.78910635
+62,0,0,20,51,96.62,1,0,0,0,0,0,1,0,3844,9335.424400000002,400,2601,1,-1.81919467
+28,0,1,25,10,48.76,1,0,0,1,0,0,0,1,784,2377.5375999999997,625,100,0,2.49593781
+38,0,0,20,18,78.7,1,0,0,1,0,0,1,0,1444,6193.6900000000005,400,324,1,-0.68211236
+34,0,1,20,22,58.29,1,0,1,0,0,0,0,0,1156,3397.7241,400,484,0,-0.68376901
+64,0,1,18,48,56.93,1,0,0,0,0,1,1,0,4096,3241.0249,324,2304,0,-5.67406219
+34,0,0,10,16,74.05,0,0,1,0,0,0,0,0,1156,5483.402499999999,100,256,0,3.51429527
+53,1,1,20,33,73.14,1,0,0,1,0,0,1,0,2809,5349.4596,400,1089,0,-1.47240554
+68,0,0,20,54,64.52,1,0,0,0,0,0,0,1,4624,4162.8304,400,2916,0,-7.36736138
+50,0,1,15,32,47.85,1,0,0,0,0,1,1,0,2500,2289.6225,225,1024,0,4.76671492
+44,0,0,40,26,70.53,0,1,0,1,0,0,1,0,1936,4974.4809000000005,1600,676,0,-2.4911445
+35,0,1,20,19,47.29,1,0,0,0,1,0,0,1,1225,2236.3441,400,361,0,1.69797596
+34,0,0,40,18,90.15,0,1,1,0,0,0,0,1,1156,8127.022500000001,1600,324,0,20.52653828
+37,0,1,40,22,42.98,1,0,0,0,0,0,0,0,1369,1847.2803999999996,1600,484,0,-0.79590959
+39,0,0,20,24,66.22,0,0,0,1,0,0,1,0,1521,4385.0884,400,576,0,3.63322498
+33,0,0,20,13,73.82,1,0,0,1,0,0,1,0,1089,5449.392399999999,400,169,1,16.898474
+30,0,1,12,13,50.35,1,0,0,0,0,0,1,0,900,2535.1225,144,169,0,0.45234544
+33,0,1,10,11,51.37,1,0,0,0,0,1,1,0,1089,2638.8768999999998,100,121,1,6.68982336
+31,0,1,1,6,77.0,1,0,0,1,0,0,1,0,961,5929.0,1,36,1,6.46099608
+40,0,1,25,21,60.1,0,0,0,1,0,0,0,0,1600,3612.01,625,441,0,4.31011654
+53,0,1,20,23,46.72,1,0,1,0,0,0,1,0,2809,2182.7583999999997,400,529,1,0.45360648
+31,0,1,15,14,50.35,0,0,0,0,1,0,0,0,961,2535.1225,225,196,0,5.44186151
+25,0,0,20,8,57.27,0,0,0,1,0,0,0,0,625,3279.8529000000003,400,64,0,10.31526313
+52,0,1,5,32,65.54,0,0,0,1,0,0,1,0,2704,4295.491600000001,25,1024,0,3.40604024
+48,0,0,5,32,97.64,1,0,0,1,0,0,1,0,2304,9533.5696,25,1024,0,-17.80774288
+43,0,0,60,23,57.61,0,0,0,1,0,0,0,1,1849,3318.9121,3600,529,0,-1.36454612
+43,0,0,12,23,84.71,1,0,0,1,0,0,0,1,1849,7175.784099999999,144,529,0,-0.79541155
+27,0,0,20,11,80.63,0,0,0,1,0,0,1,0,729,6501.196899999999,400,121,1,2.83099608
+27,0,1,30,10,62.94,1,0,0,1,0,0,0,0,729,3961.4435999999996,900,100,0,4.19167076
+39,0,1,15,21,51.26,0,0,0,1,0,0,0,0,1521,2627.5876,225,441,0,1.35671492
+40,0,1,20,24,48.08,0,0,0,1,0,0,1,0,1600,2311.6864,400,576,0,6.3510844
+47,0,1,15,29,64.75,1,0,0,1,0,0,1,0,2209,4192.5625,225,841,1,13.26788764
+45,0,1,10,25,64.52,0,0,0,0,1,0,0,1,2025,4162.8304,100,625,1,8.0547792
+28,0,1,15,3,64.41,0,0,1,0,0,0,1,0,784,4148.648099999999,225,9,0,13.60788764
+70,0,1,30,40,79.04,1,0,0,0,0,1,0,1,4900,6247.321600000001,900,1600,0,-7.82599791
+25,0,1,10,7,58.97,1,0,1,0,0,0,1,0,625,3477.4609,100,49,0,4.5329318
+41,0,0,20,23,79.61,1,0,1,0,0,0,1,0,1681,6337.7521,400,529,0,2.0366266
+45,0,1,1,15,63.28,0,1,0,1,0,0,0,1,2025,4004.3584,1,225,0,5.21244787
+25,0,1,50,14,59.19,0,0,1,0,0,0,0,0,625,3503.4561,2500,196,0,4.3129318
+54,0,1,30,37,69.51,1,0,0,1,0,0,1,0,2916,4831.6401000000005,900,1369,0,3.51837157
+50,0,1,10,4,73.37,0,0,0,0,0,0,0,0,2500,5383.156900000001,100,16,1,-9.8670682
+27,0,1,20,9,61.23,1,0,0,1,0,0,0,1,729,3749.1128999999996,400,81,0,2.2729318
+26,0,0,30,13,69.29,0,0,1,0,0,0,0,0,676,4801.1041000000005,900,169,0,-8.50862242
+54,0,0,15,32,53.75,0,1,0,1,0,0,0,1,2916,2889.0625,225,1024,1,-1.58687745
+57,0,1,10,38,64.86,0,0,0,1,0,0,0,1,3249,4206.8196,100,1444,0,-4.53221479
+61,0,1,10,41,63.5,0,0,0,0,0,0,1,0,3721,4032.25,100,1681,1,0.0029318
+28,0,1,16,11,56.47,0,0,0,1,0,0,0,0,784,3188.8608999999997,256,121,0,-2.0389156
+41,0,0,40,23,62.82,0,0,0,1,0,0,0,0,1681,3946.3524,1600,529,0,1.13652417
+25,0,0,4,8,75.52,0,0,0,0,0,1,0,0,625,5703.270399999999,16,64,1,-0.22366658
+25,0,1,15,7,64.41,1,0,0,1,0,0,1,0,625,4148.648099999999,225,49,0,10.43274105
+61,0,1,10,44,73.48,0,1,1,0,0,0,0,1,3721,5399.3104,100,1936,1,-16.78095375
+70,0,0,30,56,69.97,1,0,0,0,0,0,0,1,4900,4895.8009,900,3136,0,-10.54939953
+37,0,0,22,17,77.11,0,0,1,0,0,0,0,1,1369,5945.9520999999995,484,289,0,11.34051215
+28,0,0,20,10,91.63,0,0,0,1,0,0,1,0,784,8396.0569,400,100,1,7.70672903
+41,0,0,45,29,70.99,1,0,1,0,0,0,1,0,1681,5039.580099999999,2025,841,0,10.6566266
+31,0,1,20,13,105.57,0,1,0,1,0,0,0,1,961,11145.024899999999,400,169,1,11.00323909
+47,0,1,20,27,77.0,1,0,0,1,0,0,1,0,2209,5929.0,400,729,0,22.33672903
+45,0,1,4,29,50.92,1,0,1,0,0,0,0,1,2025,2592.8464000000004,16,841,1,1.24312255
+58,0,1,10,40,66.11,0,0,1,0,0,0,0,1,3364,4370.5321,100,1600,0,4.65040972
+34,0,1,15,4,58.17,0,0,0,1,0,0,1,0,1156,3383.7489,225,16,0,3.06496995
+30,0,0,30,18,66.79,0,0,1,0,0,0,1,0,900,4460.904100000001,900,324,0,5.7847792
+40,0,0,20,17,97.86,1,0,0,0,0,1,1,0,1600,9576.5796,400,289,1,32.77460256
+37,0,0,30,16,92.19,1,0,0,0,0,1,1,0,1369,8498.9961,900,256,0,-6.0074497
+32,0,1,16,13,55.79,0,0,0,1,0,0,0,0,1024,3112.5241,256,169,1,14.51681735
+55,0,0,15,33,78.47,1,0,0,1,0,0,0,0,3025,6157.5409,225,1089,1,0.90866475
+34,0,1,20,10,52.28,0,0,0,1,0,0,1,0,1156,2733.1984,400,100,0,3.05826914
+37,0,0,30,20,73.26,1,0,0,1,0,0,1,0,1369,5367.0276,900,400,1,3.8507029
+43,0,0,30,28,79.27,0,0,0,1,0,0,1,0,1849,6283.732899999999,900,784,0,-1.25211236
+39,0,1,20,22,122.24,1,0,0,1,0,0,0,1,1521,14942.6176,400,484,0,-15.19220068
+53,0,0,20,37,88.11,0,0,1,0,0,0,0,1,2809,7763.3721,400,1369,0,11.6803214
+34,0,1,10,24,42.52,0,0,0,0,1,0,0,1,1156,1807.9504000000002,100,576,0,4.65360648
+55,0,1,10,35,78.92,1,0,1,0,0,0,1,0,3025,6228.3664,100,1225,0,-8.61318265
+66,0,1,20,31,61.23,0,0,0,1,0,0,1,0,4356,3749.1128999999996,400,961,0,2.72652417
+46,0,1,40,27,58.06,0,0,1,0,0,0,1,0,2116,3370.9636,1600,729,0,-1.36095375
+26,0,1,20,9,56.93,0,0,0,1,0,0,1,0,676,3241.0249,400,81,0,1.12982336
+49,0,0,10,27,82.21,1,0,0,0,0,0,1,0,2401,6758.484099999999,100,729,0,-1.92415051
+51,0,0,20,31,68.38,0,0,0,0,1,0,0,1,2601,4675.8243999999995,400,961,1,10.99866475
+62,0,0,20,49,78.92,1,0,0,0,0,0,1,0,3844,6228.3664,400,2401,0,7.2625503
+54,0,1,20,35,48.31,0,0,0,1,0,0,0,0,2916,2333.8561000000004,400,1225,1,2.03875307
+49,0,1,10,20,64.86,1,0,0,1,0,0,1,0,2401,4206.8196,100,400,1,4.99322498
+47,0,0,30,31,82.55,1,0,0,1,0,0,1,0,2209,6814.5025,900,961,1,4.53973504
+47,0,1,20,28,95.03,1,0,0,1,0,0,1,0,2209,9030.7009,400,784,0,-10.20822681
+30,0,1,10,10,52.5,0,0,0,0,1,0,0,0,900,2756.25,100,100,1,3.29186151
+25,0,1,40,7,48.42,0,0,0,0,0,1,1,0,625,2344.4964,1600,49,0,3.28953018
+61,0,0,2,41,67.25,1,0,0,0,0,0,1,0,3721,4522.5625,4,1681,1,-2.38629109
+48,0,1,20,26,57.15,1,0,0,1,0,0,0,1,2304,3266.1225,400,676,0,-3.62610034
+30,0,1,20,9,55.34,1,0,0,0,0,1,0,1,900,3062.5156,400,81,1,5.44137758
+51,0,1,20,30,67.13,0,0,0,0,0,1,1,0,2601,4506.4369,400,900,0,0.45526313
+59,0,1,20,37,61.35,1,0,0,0,0,1,1,0,3481,3763.8225,400,1369,0,6.6888555
+29,0,1,10,11,54.66,1,0,0,1,0,0,1,0,841,2987.7155999999995,100,121,0,5.66778521
+46,0,1,3,25,62.37,0,0,0,1,0,0,0,0,2116,3890.0168999999996,9,625,0,-13.83561641
+54,0,0,30,38,64.3,1,0,1,0,0,0,0,0,2916,4134.49,900,1444,0,20.97536556
+42,0,1,20,24,54.54,1,0,0,1,0,0,1,0,1764,2974.6115999999997,400,576,1,6.24137758
+34,0,1,3,16,55.57,1,0,0,1,0,0,1,0,1156,3088.0249,9,256,0,2.48982336
+28,0,0,5,10,85.5,1,0,0,0,0,1,1,0,784,7310.25,25,100,1,2.95051215
+35,0,1,20,17,61.23,1,0,0,1,0,0,1,0,1225,3749.1128999999996,400,289,0,0.00496995
+30,0,1,30,17,48.19,1,0,0,1,0,0,1,0,900,2322.2760999999996,900,289,0,-0.10920878
+63,0,0,20,43,76.77,0,1,1,0,0,0,0,1,3969,5893.6329,400,1849,0,-6.91677502
+52,0,0,20,40,77.79,0,0,1,0,0,0,1,0,2704,6051.284100000001,400,1600,0,-2.94725895
+26,1,1,20,12,75.98,0,1,1,0,0,0,0,1,676,5772.960400000001,400,144,0,-2.95162843
+28,0,0,20,8,72.01,0,0,0,0,1,0,1,0,784,5185.440100000001,400,64,0,-1.24959028
+46,0,0,20,30,81.31,1,0,0,1,0,0,1,0,2116,6611.3161,400,900,0,-0.11696577
+53,0,0,30,33,66.45,1,0,0,0,0,1,1,0,2809,4415.6025,900,1089,1,10.6607029
+27,0,1,20,9,71.78,1,0,0,0,1,0,0,1,729,5152.3684,400,81,0,-7.36988346
+54,1,1,20,39,62.14,1,0,1,0,0,0,0,1,2916,3861.3796,400,1521,0,1.3629318
+47,0,0,30,31,70.76,0,0,0,0,1,0,1,0,2209,5006.977600000001,900,961,0,-0.90677502
+36,0,1,20,21,79.38,1,0,1,0,0,0,1,0,1296,6301.184399999999,400,441,0,9.52410452
+37,0,1,20,20,62.26,1,0,0,1,0,0,0,1,1369,3876.3075999999996,400,400,1,3.51089365
+41,0,1,15,23,63.05,1,0,0,1,0,0,1,0,1681,3975.3025,225,529,0,-0.00066057
+48,0,0,25,33,92.42,1,0,0,0,0,1,1,0,2304,8541.456400000001,625,1089,0,-14.85570473
+33,0,0,6,8,73.14,0,0,0,0,0,1,0,0,1089,5349.4596,36,64,0,2.15633342
+31,0,0,4,15,81.42,1,0,1,0,0,0,1,0,961,6629.2164,16,225,0,-5.67007421
+28,0,0,30,8,93.67,1,0,0,0,0,1,1,0,784,8774.0689,900,64,0,-3.85871074
+26,0,0,10,4,76.54,0,0,0,0,0,1,1,0,676,5858.371600000001,100,16,0,0.11711053
+31,0,1,10,15,52.39,0,0,0,0,0,1,1,0,961,2744.7121,100,225,1,1.13389966
+27,0,1,10,9,53.41,1,0,0,0,0,1,0,1,729,2852.6280999999994,100,81,0,3.28904625
+28,0,0,30,10,100.58,0,0,0,0,1,0,0,0,784,10116.3364,900,100,0,7.82857643
+38,0,0,30,16,81.42,1,0,0,1,0,0,1,0,1444,6629.2164,900,256,0,4.7625503
+46,0,1,20,27,63.84,0,0,0,1,0,0,1,0,2116,4075.5456000000004,400,729,0,4.65244787
+32,0,0,20,12,70.31,1,0,0,0,1,0,0,0,1024,4943.4961,400,144,1,14.51177319
+50,0,1,4,28,55.11,1,0,0,1,0,0,1,0,2500,3037.1121,16,784,1,1.58904625
+31,0,0,40,14,64.98,1,0,0,0,0,1,1,0,961,4222.4004,1600,196,0,7.5947792
+51,0,0,30,34,97.3,0,0,0,1,0,0,0,0,2601,9467.289999999999,900,1156,0,0.22235955
+46,1,1,20,33,80.63,1,0,0,1,0,0,1,0,2116,6501.196899999999,400,1089,0,-1.70492762
+48,0,0,40,30,83.12,1,0,0,0,0,1,1,0,2304,6908.934400000001,1600,900,1,-9.63803606
+41,0,1,20,25,60.44,0,1,1,0,0,0,0,1,1681,3652.9936,400,625,0,10.77400209
+35,0,0,60,20,66.56,0,0,0,0,0,0,0,1,1225,4430.2336000000005,3600,400,0,10.5507029
+30,0,1,30,15,64.18,1,0,0,1,0,0,0,1,900,4119.072400000001,900,225,0,20.18818082
+50,0,0,35,28,75.41,1,0,0,1,0,0,0,1,2500,5686.6681,1225,784,1,-1.02085132
+45,0,1,2,27,83.57,1,0,0,1,0,0,0,1,2025,6983.944899999999,4,729,1,-4.19133525
+28,0,1,20,10,60.89,1,0,1,0,0,0,1,0,784,3707.5921,400,100,1,2.6129318
+53,0,1,20,40,63.62,0,0,0,0,1,0,0,1,2809,4047.5044,400,1600,0,6.23322498
+42,0,1,20,20,47.85,0,0,1,0,0,0,1,0,1764,2289.6225,400,400,0,3.85953018
+41,1,1,20,25,43.77,0,1,1,0,0,0,0,1,1681,1915.8129000000004,400,625,0,7.03234544
+57,0,1,20,29,57.72,0,1,0,1,0,0,0,1,3249,3331.5984,400,841,0,3.06137758
+31,0,1,20,13,69.4,1,0,0,1,0,0,1,0,961,4816.360000000001,400,169,0,-14.51532323
+25,0,0,30,9,57.72,1,0,0,0,1,0,0,0,625,3331.5984,900,81,1,3.51496995
+37,1,1,20,19,51.94,0,0,0,0,1,0,1,0,1369,2697.7635999999998,400,361,0,1.13030729
+32,0,0,50,17,62.94,1,0,0,1,0,0,0,1,1024,3961.4435999999996,2500,289,0,0.10933943
+54,0,0,20,44,94.35,1,0,0,0,0,0,1,0,2916,8901.922499999999,400,1936,1,1.81158244
+26,0,1,30,9,54.77,1,0,0,1,0,0,0,1,676,2999.7529000000004,900,81,0,2.83623099
+51,1,1,5,31,64.52,1,0,0,1,0,0,0,1,2601,4162.8304,25,961,0,-2.83143768
+42,0,1,50,19,67.13,1,0,0,1,0,0,0,1,1764,4506.4369,2500,361,0,0.9088555
+47,1,1,20,29,60.78,1,0,0,1,0,0,0,1,2209,3694.2084,400,841,0,-7.25610034
+26,0,1,30,9,54.2,0,1,0,1,0,0,1,0,676,2937.6400000000003,900,81,1,1.59186151
+35,0,1,5,15,77.9,1,0,0,1,0,0,0,1,1225,6068.410000000001,25,225,0,-11.22192161
+62,1,0,10,46,61.01,0,0,0,0,1,0,0,0,3844,3722.2200999999995,100,2116,0,4.76089365
+49,1,1,10,31,67.81,1,0,0,1,0,0,0,1,2401,4598.1961,100,961,0,5.21837157
+26,0,0,15,15,65.66,0,0,0,1,0,0,0,0,676,4311.2356,225,225,1,0.56448602
+49,0,0,30,30,74.96,1,0,0,0,1,0,1,0,2401,5619.001599999999,900,900,0,8.04740371
+41,0,1,3,6,65.54,1,0,1,0,0,0,0,1,1681,4295.491600000001,9,36,0,11.11711053
+39,0,1,20,18,61.46,1,0,0,1,0,0,1,0,1521,3777.3316,400,324,1,-2.03939953
+54,0,1,10,36,68.72,0,0,0,0,0,0,0,1,2916,4722.4384,100,1296,1,3.8547792
+42,0,1,30,6,62.94,0,0,0,0,1,0,0,1,1764,3961.4435999999996,900,36,0,-1.25143768
+50,0,1,40,30,59.42,0,0,0,0,0,0,1,0,2500,3530.7364000000002,1600,900,0,14.96914868
+25,0,1,15,7,60.21,1,0,0,0,0,1,1,0,625,3625.2441,225,49,1,3.2929318
+40,0,1,20,25,57.72,0,1,1,0,0,0,0,1,1600,3331.5984,400,625,0,6.23652417
+48,0,0,20,31,62.71,1,0,0,1,0,0,1,0,2304,3932.5441,400,961,0,7.59681735
+29,0,1,20,17,55.34,1,0,1,0,0,0,0,1,841,3062.5156,400,289,0,4.08060047
+65,0,1,20,48,56.47,1,0,0,0,0,1,0,1,4225,3188.8608999999997,400,2304,0,0.68263862
+44,1,0,15,22,58.29,0,0,0,0,0,1,0,1,1936,3397.7241,225,484,0,10.20244787
+48,0,1,15,28,67.7,0,0,0,0,1,0,1,0,2304,4583.29,225,784,0,-11.00095375
+69,1,1,4,39,67.47,0,0,0,0,0,0,0,1,4761,4552.2009,16,1521,0,-4.87425294
+29,0,1,20,12,43.54,0,0,0,1,0,0,1,0,841,1895.7315999999998,400,144,1,23.13807839
+28,0,1,30,12,86.3,1,0,0,0,1,0,0,1,784,7447.69,900,144,0,-0.1174497
+50,0,0,40,35,78.47,1,0,0,1,0,0,0,1,2500,6157.5409,1600,1225,0,-6.34881317
+43,0,1,20,25,67.13,1,0,0,1,0,0,0,1,1849,4506.4369,400,625,0,7.71274105
+45,0,1,5,17,73.14,0,0,0,0,0,0,0,1,2025,5349.4596,25,289,0,15.31051215
+56,0,1,20,36,86.98,0,0,1,0,0,0,0,1,3136,7565.5204,400,1296,1,15.98546799
+40,0,0,15,25,91.74,1,0,1,0,0,0,0,0,1600,8416.227599999998,225,625,0,-5.5574497
+50,0,1,20,40,106.71,0,1,0,0,0,0,0,1,2500,11387.024099999999,400,1600,0,-25.97055814
+58,0,0,5,41,66.45,0,1,0,0,0,0,1,0,3364,4415.6025,25,1681,1,9.75351816
+42,0,1,20,31,70.53,1,0,0,0,0,0,0,1,1764,4974.4809000000005,400,961,0,-7.0270682
+72,1,0,10,52,56.93,0,1,0,0,0,0,0,1,5184,3241.0249,100,2704,0,-3.40610034
+51,0,1,15,39,65.2,0,1,0,0,0,0,0,1,2601,4251.04,225,1521,1,-4.41862242
+45,0,0,40,27,63.62,0,0,0,0,0,0,0,0,2025,4047.5044,1600,729,0,4.4188555
+41,0,1,30,15,67.7,1,0,0,0,0,0,0,1,1681,4583.29,900,225,0,0.3388555
+55,0,0,20,38,62.94,0,0,0,0,0,0,1,0,3025,3961.4435999999996,400,1444,0,2.83089365
+33,0,0,30,19,95.14,0,0,0,0,0,0,0,1,1089,9051.6196,900,361,0,11.90779932
+38,1,0,10,12,87.43,1,0,0,0,0,1,0,1,1444,7644.004900000001,100,144,0,-10.3192971
+30,0,0,30,10,66.22,1,0,0,1,0,0,0,0,900,4385.0884,900,100,0,-1.80988346
+25,0,0,12,10,64.18,0,0,0,0,0,0,1,0,625,4119.072400000001,144,100,0,3.8588555
+62,0,0,40,55,79.15,1,0,0,0,0,0,1,0,3844,6264.722500000001,1600,3025,1,10.66128926
+53,0,1,30,29,54.66,0,0,0,0,0,1,0,1,2809,2987.7155999999995,900,841,0,-7.93998589
+27,1,0,10,10,64.3,0,0,0,1,0,0,0,0,729,4134.49,100,100,0,1.47089365
+35,0,0,20,18,67.59,1,0,0,0,0,0,0,1,1225,4568.408100000001,400,324,0,-0.45832924
+27,0,0,40,9,82.78,0,0,0,1,0,0,0,1,729,6852.5284,1600,81,0,6.12410452
+59,0,0,20,46,50.12,1,0,0,0,0,0,0,0,3481,2512.0143999999996,400,2116,0,-0.67843167
+31,0,0,40,15,79.95,1,0,0,0,1,0,1,0,961,6392.0025000000005,1600,225,0,-1.93211236
+26,0,1,10,20,83.23,0,1,0,1,0,0,0,1,676,6927.232900000001,100,400,0,0.23099608
+35,0,0,35,20,76.54,0,0,0,0,0,0,0,0,1225,5858.371600000001,1225,400,0,12.81769689
+61,0,0,3,21,61.69,1,0,0,0,0,0,1,0,3721,3805.6560999999997,9,441,0,-0.00143768
+72,0,0,5,58,86.52,1,0,0,0,0,0,1,0,5184,7485.710399999999,25,3364,1,-8.04851999
+50,0,0,40,35,97.52,0,0,0,1,0,0,1,0,2500,9510.150399999999,1600,1225,0,4.53828325
+49,0,1,20,33,104.67,0,1,0,1,0,0,0,1,2401,10955.8089,400,1089,1,10.99605435
+67,0,1,14,38,60.1,1,0,1,0,0,0,1,0,4489,3612.01,196,1444,0,-2.04017664
+50,0,0,40,29,73.82,0,1,1,0,0,0,0,1,2500,5449.392399999999,1600,841,1,3.2907029
+52,0,0,35,37,61.92,0,0,0,0,0,0,0,1,2704,3834.0864,1225,1369,1,29.25206637
+45,1,1,5,15,111.02,1,0,1,0,0,0,0,0,2025,12325.4404,25,225,1,6.9140162
+58,0,1,30,30,70.99,0,1,1,0,0,0,0,1,3364,5039.580099999999,900,900,0,1.13118683
+50,0,1,40,31,84.94,1,0,0,0,0,0,1,0,2500,7214.803599999999,1600,961,0,13.94313666
+57,0,1,10,39,60.67,1,0,0,1,0,0,0,1,3249,3680.8489000000004,100,1521,0,-2.61017664
+42,0,1,20,21,117.14,1,0,0,0,0,1,0,1,1764,13721.7796,400,441,1,19.39130337
+40,0,0,15,26,78.7,0,0,0,1,0,0,0,1,1600,6193.6900000000005,225,676,0,2.03944186
+45,0,1,20,29,60.33,0,0,1,0,0,0,0,1,2025,3639.7088999999996,400,841,0,-1.3629919
+25,0,0,20,10,65.54,1,0,0,0,0,0,0,1,625,4295.491600000001,400,100,0,-6.5729919
+53,0,0,40,32,65.32,0,0,0,1,0,0,1,0,2809,4266.702399999999,1600,1024,1,2.7188555
+51,0,1,40,31,53.07,0,0,0,0,0,0,0,0,2601,2816.4249,1600,961,0,-1.36046982
+34,0,1,20,16,61.12,1,0,0,0,1,0,1,0,1156,3735.6544,400,256,0,0.56856232
+26,0,0,15,11,54.54,0,1,1,0,0,0,0,1,676,2974.6115999999997,225,121,1,12.59167076
+51,0,1,20,31,79.83,1,0,0,0,1,0,0,1,2601,6372.8288999999995,400,961,0,-7.2552208
+55,0,1,10,35,85.96,1,0,0,1,0,0,1,0,3025,7389.121599999999,100,1225,0,4.30488163
+32,0,1,25,14,74.16,0,0,0,1,0,0,1,0,1024,5499.705599999999,625,196,0,-10.6570682
+34,0,1,20,19,58.74,0,0,0,1,0,0,0,0,1156,3450.3876,400,361,0,3.85574706
+59,0,0,40,45,47.97,1,0,0,0,0,0,0,0,3481,2301.1209,1600,2025,1,-4.42513248
+26,0,0,20,8,130.29,1,0,0,0,1,0,1,0,676,16975.484099999998,400,64,0,-4.19132114
+29,0,0,30,11,88.22,0,0,0,0,0,1,0,1,841,7782.7684,900,121,0,11.11672903
+34,0,1,30,13,57.27,1,0,0,1,0,0,1,0,1156,3279.8529000000003,900,169,0,3.05778521
+48,0,0,20,30,74.39,0,0,1,0,0,0,0,1,2304,5533.8721000000005,400,900,0,9.97818082
+26,0,0,30,7,74.16,1,0,0,1,0,0,1,0,676,5499.705599999999,900,49,0,-1.13162843
+37,0,1,20,16,70.65,1,0,0,1,0,0,0,1,1369,4991.422500000001,400,256,0,-9.41503005
+40,0,1,15,20,60.21,1,0,0,1,0,0,1,0,1600,3625.2441,225,400,1,4.65370891
+35,1,0,10,18,68.49,0,0,1,0,0,0,0,0,1225,4690.880099999999,100,324,0,5.44555631
+50,1,1,18,37,72.46,1,0,0,0,0,0,0,1,2500,5250.451599999999,324,1369,0,-12.58580716
+37,0,0,40,24,59.08,0,0,0,1,0,0,0,0,1369,3490.4464,1600,576,0,8.05167076
+48,0,1,20,13,70.99,1,0,0,0,0,1,1,0,2304,5039.580099999999,400,169,0,-1.13677502
+40,0,1,20,19,61.8,1,0,0,1,0,0,1,0,1600,3819.24,400,361,0,-3.28658427
+65,0,0,20,50,61.92,1,0,0,0,0,0,1,0,4225,3834.0864,400,2500,0,6.57244787
+33,1,1,2,14,78.24,1,0,0,1,0,0,1,0,1089,6121.497599999999,4,196,0,8.84973504
+38,1,1,5,22,68.49,1,0,0,0,0,0,0,1,1444,4690.880099999999,25,484,1,1.81681735
+43,1,0,7,28,60.33,1,0,1,0,0,0,1,0,1849,3639.7088999999996,49,784,0,1.81215469
+27,1,0,2,12,56.81,0,0,1,0,0,0,0,1,729,3227.3761000000004,4,144,1,16.67196394
+48,0,1,6,10,57.72,0,1,0,0,0,1,0,1,2304,3331.5984,36,100,1,-4.64969271
+37,1,1,10,14,42.3,1,0,0,1,0,0,0,1,1369,1789.2899999999997,100,196,0,7.5951607
+41,0,1,13,16,89.47,0,0,0,0,1,0,0,1,1681,8004.8809,169,256,0,-4.64822681
+26,0,0,10,9,77.68,1,0,0,1,0,0,0,0,676,6034.1824000000015,100,81,0,0.79148001
+53,0,0,30,32,100.02,0,1,0,1,0,0,0,1,2809,10004.000399999999,900,1024,1,14.73886961
+36,0,0,9,30,68.38,0,0,0,1,0,0,0,0,1296,4675.8243999999995,81,900,0,5.10196394
+47,0,0,25,29,89.36,0,0,0,0,1,0,0,1,2209,7985.2096,625,841,0,-2.27026496
+30,0,1,9,17,67.02,0,0,1,0,0,0,0,0,900,4491.680399999999,81,289,0,12.81225712
+28,0,1,20,6,86.3,1,0,0,1,0,0,1,0,784,7447.69,400,36,0,13.4903214
+34,0,0,20,16,86.07,0,1,0,0,0,1,0,1,1156,7408.044899999999,400,256,0,2.83410452
+35,1,0,11,16,93.78,0,0,0,1,0,0,0,0,1225,8794.688400000001,121,256,1,6.91750614
+25,0,0,20,5,66.56,0,1,0,0,0,1,1,0,625,4430.2336000000005,400,25,0,4.65400209
+30,0,1,20,14,55.22,0,0,1,0,0,0,0,1,900,3049.2484,400,196,1,7.37574706
+34,0,1,25,14,49.78,0,0,0,0,1,0,0,0,1156,2478.0484,625,196,0,9.64060047
+50,0,1,15,32,55.91,0,0,0,0,0,1,1,0,2500,3125.9280999999996,225,1024,0,7.13933943
+32,0,1,30,16,55.11,1,0,0,0,1,0,1,0,1024,3037.1121,900,256,0,36.96925111
+53,1,0,50,32,79.27,0,0,0,1,0,0,0,0,2809,6283.732899999999,2500,1024,0,5.55177319
+56,0,0,15,40,79.95,0,0,0,0,0,0,1,0,3136,6392.0025000000005,225,1600,1,-6.92162843
+29,1,0,8,9,69.29,1,0,0,0,1,0,1,0,841,4801.1041000000005,64,81,0,10.54225712
+60,0,1,20,40,70.31,1,0,0,1,0,0,0,1,3600,4943.4961,400,1600,0,-3.63192161
+61,0,0,40,44,73.6,0,1,1,0,0,0,1,0,3721,5416.959999999999,1600,1936,1,10.31458845
+25,1,0,25,6,62.03,0,0,0,1,0,0,0,0,625,3847.7209000000003,625,36,0,6.0088555
+30,0,1,15,7,56.47,1,0,0,0,1,0,1,0,900,3188.8608999999997,225,49,0,1.13623099
+50,1,0,40,41,48.87,1,0,0,0,0,0,1,0,2500,2388.2769,1600,1681,0,6.46826914
+53,0,0,20,34,69.06,0,0,0,1,0,0,0,1,2809,4769.283600000001,400,1156,0,5.32914868
+33,1,1,10,13,58.74,0,0,0,0,1,0,1,0,1089,3450.3876,100,169,0,6.57730128
+47,0,1,40,27,56.25,1,0,0,1,0,0,0,1,2209,3164.0625,1600,729,0,0.90263862
+25,0,0,20,1,62.14,0,0,0,0,0,0,0,0,625,3861.3796,400,1,0,1.81652417
+36,1,1,12,20,53.07,1,0,0,0,0,0,1,0,1296,2816.4249,144,400,0,2.26826914
+55,1,0,20,43,66.68,0,0,0,1,0,0,1,0,3025,4446.222400000001,400,1849,0,-3.1770682
+28,0,0,50,15,91.29,1,0,0,0,1,0,0,1,784,8333.8641,2500,225,0,6.23235955
+36,1,1,10,15,61.92,0,1,1,0,0,0,0,1,1296,3834.0864,100,225,0,7.02604024
+32,0,1,10,15,77.79,0,0,1,0,0,0,0,1,1024,6051.284100000001,100,225,1,3.8566266
+30,1,1,5,5,57.83,1,0,0,1,0,0,1,0,900,3344.3089,25,25,0,12.02322498
+26,1,0,10,10,67.47,0,0,0,0,0,1,1,0,676,4552.2009,100,100,0,-6.23503005
+28,1,0,20,11,67.13,0,0,0,1,0,0,0,1,784,4506.4369,400,121,0,4.53759446
+31,0,1,20,13,57.61,0,0,0,1,0,0,1,0,961,3318.9121,400,169,0,-2.72532323
+62,1,0,2,23,87.32,1,0,0,0,0,1,0,0,3844,7624.782399999999,4,529,0,-3.40541155
+42,0,0,20,27,103.08,0,0,0,0,0,1,1,0,1764,10625.4864,400,729,1,-1.02171675
+38,0,0,20,21,58.51,1,0,0,1,0,0,1,0,1444,3423.4201,400,441,0,2.27137758
+64,0,1,20,43,58.97,0,1,0,1,0,0,0,1,4096,3477.4609,400,1849,0,-2.72454612
+66,0,0,40,48,73.6,1,0,0,1,0,0,0,1,4356,5416.959999999999,1600,2304,0,3.05711053
+46,0,0,20,27,81.31,0,0,0,0,1,0,1,0,2116,6611.3161,400,729,0,8.04769689
+49,0,0,20,26,69.17,1,0,0,0,0,0,1,0,2401,4784.4889,400,676,0,5.67274105
+35,0,0,20,15,89.13,1,0,0,1,0,0,1,0,1225,7944.156899999999,400,225,1,6.1243977
+31,0,1,20,17,57.15,1,0,1,0,0,0,0,0,961,3266.1225,400,289,0,8.62089365
+43,0,0,10,29,86.98,1,0,0,0,1,0,1,0,1849,7565.5204,100,841,1,1.92410452
+38,0,0,20,21,75.98,0,1,0,0,0,0,1,0,1444,5772.960400000001,400,441,0,9.29536556
+72,0,1,8,27,70.65,1,0,0,1,0,0,1,0,5184,4991.422500000001,64,729,0,-3.97192161
+41,0,1,40,27,65.09,1,0,0,1,0,0,1,0,1681,4236.708100000001,1600,729,0,2.04167076
+28,0,1,20,12,54.77,0,0,1,0,0,0,1,0,784,2999.7529000000004,400,144,0,2.83623099
+47,0,1,40,25,59.87,0,0,0,1,0,0,0,0,2209,3584.4168999999997,1600,625,0,-7.25328508
+26,0,1,10,4,52.96,0,0,0,0,1,0,0,0,676,2804.7616000000003,100,16,0,7.36778521
+34,0,0,20,16,76.88,0,0,0,0,0,1,0,1,1156,5910.5344,400,256,0,-6.57318265
+31,0,1,10,13,70.87,1,0,0,1,0,0,1,0,961,5022.5569000000005,100,169,0,5.33351816
+43,0,1,7,25,59.65,1,0,0,1,0,0,0,1,1849,3558.1225,49,625,0,8.84244787
+27,0,1,15,7,49.67,0,0,0,0,1,0,0,0,729,2467.1089,225,49,1,5.21467677
+36,0,0,30,16,116.35,0,0,0,1,0,0,1,0,1296,13537.322499999998,900,256,1,-4.31268461
+49,0,0,25,31,82.33,1,0,0,1,0,0,1,0,2401,6778.2289,625,961,0,-0.22978103
+69,0,1,20,24,54.54,0,0,1,0,0,0,0,0,4761,2974.6115999999997,400,576,0,-10.99513248
+31,0,1,20,12,51.71,1,0,0,0,1,0,1,0,961,2673.9241,400,144,0,4.53545388
+55,0,0,30,36,80.63,1,0,0,1,0,0,1,0,3025,6501.196899999999,900,1296,0,4.64536556
+28,0,1,10,9,60.55,1,0,0,0,1,0,1,0,784,3666.3025,100,81,0,1.13856232
+62,0,0,15,47,82.44,1,0,0,1,0,0,1,0,3844,6796.3535999999995,225,2209,1,5.10332741
+52,0,1,20,37,56.81,1,0,1,0,0,0,1,0,2704,3227.3761000000004,400,1369,0,-0.56454612
+30,0,1,20,16,61.8,0,1,0,0,1,0,0,1,900,3819.24,400,256,0,11.22837157
+52,0,1,20,34,50.58,1,0,1,0,0,0,0,1,2704,2558.3363999999997,400,1156,0,10.20137758
+42,0,1,20,21,53.75,0,0,1,0,0,0,1,0,1764,2889.0625,400,441,0,10.20652417
+48,0,1,1,23,73.82,0,0,1,0,0,0,1,0,2304,5449.392399999999,1,529,0,-3.96677502
+39,0,0,20,26,88.68,0,0,0,0,0,0,0,1,1521,7864.1424000000015,400,676,0,16.55342984
+26,0,0,20,13,59.19,1,0,0,1,0,0,0,0,676,3503.4561,400,169,0,10.20963261
+60,0,1,10,30,59.31,1,0,1,0,0,0,0,1,3600,3517.6761,100,900,1,2.83215469
+72,1,0,4,60,77.79,1,0,0,0,0,0,0,1,5184,6051.284100000001,16,3600,1,-13.37988346
+41,0,1,45,29,50.69,0,1,1,0,0,0,0,1,1681,2569.4761,2025,841,0,6.00904625
+49,0,0,20,29,79.49,0,0,1,0,0,0,1,0,2401,6318.660099999999,400,841,0,0.34225712
+34,0,0,40,13,57.83,0,1,0,1,0,0,0,1,1156,3344.3089,1600,169,1,14.29118683
+54,0,1,9,37,58.06,1,0,0,0,0,0,0,1,2916,3370.9636,81,1369,1,3.17496995
+45,1,1,5,20,90.15,1,0,1,0,0,0,0,1,2025,8127.022500000001,25,400,1,0.568474
+55,1,0,10,37,84.25,1,0,1,0,0,0,0,0,3025,7098.0625,100,1369,0,1.47895793
+42,0,1,10,17,55.0,0,0,0,1,0,0,1,0,1764,3025.0,100,289,0,4.42060047
+53,0,1,10,28,54.54,1,0,0,1,0,0,1,0,2809,2974.6115999999997,100,784,0,8.9629318
+41,0,0,20,23,76.54,0,0,0,1,0,0,1,0,1681,5858.371600000001,400,529,0,-3.9652208
+50,0,1,4,32,71.55,1,0,1,0,0,0,1,0,2500,5119.402499999999,16,1024,0,11.00381134
+61,0,0,20,42,80.06,1,0,0,1,0,0,1,0,3721,6409.6036,400,1764,0,5.66895793
+48,0,0,30,32,72.12,0,0,1,0,0,0,0,1,2304,5201.294400000001,900,1024,0,2.72274105
+66,0,0,25,48,71.44,0,1,0,0,0,1,1,0,4356,5103.6736,625,2304,0,-7.48347583
+42,0,0,20,25,61.23,0,0,0,1,0,0,0,0,1764,3749.1128999999996,400,625,0,11.3447792
+27,0,1,10,9,44.11,0,0,0,1,0,0,0,0,729,1945.6921,100,81,0,-5.10105618
+44,1,0,3,30,88.0,0,1,0,0,0,0,0,0,1936,7744.0,9,900,0,-0.45667259
+48,0,0,25,31,60.33,1,0,0,0,0,0,0,1,2304,3639.7088999999996,625,961,0,6.34807839
+39,0,1,20,22,64.07,1,0,0,1,0,0,1,0,1521,4104.964899999999,400,484,0,-7.82454612
+57,0,1,40,45,57.95,0,1,0,1,0,0,1,0,3249,3358.2025000000003,1600,2025,0,2.83137758
+49,0,1,20,22,64.07,1,0,0,1,0,0,1,0,2401,4104.964899999999,400,484,0,3.9688555
+55,0,0,24,38,64.52,1,0,0,0,0,0,0,0,3025,4162.8304,576,1444,1,2.15807839
+33,0,1,10,15,64.07,0,0,0,0,0,1,1,0,1089,4104.964899999999,100,225,1,9.41196394
+66,0,0,30,48,78.13,0,1,1,0,0,0,1,0,4356,6104.296899999999,900,2304,1,-1.92648184
+56,0,0,40,38,65.54,1,0,0,1,0,0,1,0,3136,4295.491600000001,1600,1444,0,0.23089365
+38,0,1,10,19,52.28,1,0,0,0,0,1,1,0,1444,2733.1984,100,361,0,2.1510844
+53,0,0,1,32,70.99,1,0,0,0,0,1,1,0,2809,5039.580099999999,1,1024,0,-3.85832924
+46,0,1,15,31,86.86,1,0,0,0,1,0,0,1,2116,7544.6596,225,961,0,10.66235955
+46,1,1,20,28,54.88,0,1,0,1,0,0,1,0,2116,3011.8144,400,784,0,2.27263862
+70,0,0,20,58,74.96,0,0,0,1,0,0,0,1,4900,5619.001599999999,400,3364,0,-1.47803606
+41,0,1,20,24,65.54,1,0,1,0,0,0,0,1,1681,4295.491600000001,400,576,1,7.48837157
+56,0,1,20,38,53.98,0,1,0,1,0,0,0,1,3136,2913.8403999999996,400,1444,0,1.81186151
+35,0,0,20,18,61.23,1,0,0,0,0,1,0,0,1225,3749.1128999999996,400,324,0,-2.2629919
+28,0,1,6,10,49.55,0,0,0,1,0,0,0,0,784,2455.2025,36,100,0,11.68496995
+66,1,0,4,51,92.76,1,0,0,0,0,0,0,1,4356,8604.4176,16,2601,0,-13.38133525
+61,0,0,40,45,71.67,1,0,1,0,0,0,0,1,3721,5136.588900000001,1600,2025,0,-4.08473687
+48,1,1,20,26,57.15,0,1,0,0,0,0,0,1,2304,3266.1225,400,676,0,1.8170081
+30,0,1,7,11,50.24,1,0,1,0,0,0,1,0,900,2524.0576,49,121,1,10.99496995
+35,1,1,30,18,103.08,0,1,0,1,0,0,1,0,1225,10625.4864,900,324,0,0.33906036
+55,1,1,5,38,73.37,0,1,0,0,0,0,0,1,3025,5383.156900000001,25,1444,0,-5.3311445
+30,1,1,20,12,50.35,0,1,0,1,0,0,0,1,900,2535.1225,400,144,0,3.62749203
+40,1,1,20,20,56.25,1,0,1,0,0,0,1,0,1600,3164.0625,400,400,1,17.23196394
+36,1,1,30,11,87.32,0,0,1,0,0,0,0,1,1296,7624.782399999999,900,121,0,-7.03415051
+32,1,1,10,17,83.23,1,0,1,0,0,0,0,1,1024,6927.232900000001,100,289,0,22.91061458
+69,0,1,20,42,45.47,1,0,0,0,0,1,0,1,4761,2067.5209,400,1764,0,-10.08979514
+28,0,0,20,7,81.99,0,0,1,0,0,0,0,1,784,6722.360099999999,400,49,0,6.46051215
+31,0,1,15,13,54.43,0,0,0,0,1,0,1,0,961,2962.6249,225,169,0,2.72263862
+52,1,1,20,35,103.31,0,0,0,0,0,0,0,1,2704,10672.956100000001,400,1225,0,-10.77715652
+40,1,1,10,10,65.09,1,0,1,0,0,0,0,1,1600,4236.708100000001,100,100,0,0.22730128
+59,0,0,20,41,83.91,0,0,1,0,0,0,0,0,3481,7040.888099999999,400,1681,1,4.99410452
+32,1,1,40,15,81.76,0,0,1,0,0,0,1,0,1024,6684.6976,1600,225,0,0.79381134
+35,0,1,20,15,71.78,1,0,1,0,0,0,1,0,1225,5152.3684,400,225,1,4.42351816
+33,0,1,20,18,67.7,0,1,1,0,0,0,0,1,1089,4583.29,400,324,0,7.59633342
+32,0,1,20,14,54.2,1,0,0,1,0,0,1,0,1024,2937.6400000000003,400,196,1,7.03496995
+51,0,1,10,30,46.72,1,0,0,1,0,0,0,1,2601,2182.7583999999997,100,900,0,4.98953018
+46,0,1,8,21,47.4,0,0,0,0,0,1,0,1,2116,2246.7599999999998,64,441,0,5.21671492
+42,0,0,40,26,79.27,1,0,1,0,0,0,0,1,1764,6283.732899999999,1600,676,0,6.9125503
+46,0,1,20,24,62.03,1,0,0,1,0,0,0,1,2116,3847.7209000000003,400,576,0,5.10167076
+34,0,1,3,12,56.02,1,0,0,0,1,0,1,0,1156,3138.2404,9,144,0,2.9470081
+38,0,1,20,20,44.68,0,0,0,0,0,0,0,1,1444,1996.3024,400,400,0,4.76156833
+57,0,1,6,39,56.25,1,0,1,0,0,0,1,0,3249,3164.0625,36,1521,1,-1.36532323
+59,0,1,20,45,64.3,0,1,0,1,0,0,1,0,3481,4134.49,400,2025,1,7.36759446
+25,0,1,5,6,50.01,0,1,0,1,0,0,0,1,625,2501.0000999999997,25,36,0,2.15312255
+43,0,0,30,25,68.27,1,0,0,0,0,1,1,0,1849,4660.7928999999995,900,625,0,6.11914868
+47,0,1,20,30,64.3,0,0,0,1,0,0,1,0,2209,4134.49,400,900,0,-3.06503005
+64,0,0,20,42,72.23,1,0,0,0,0,0,1,0,4096,5217.1729000000005,400,1764,0,1.70555631
+53,0,0,2,41,68.61,1,0,0,1,0,0,1,0,2809,4707.3321,4,1681,1,14.85099608
+62,0,1,20,45,76.09,1,0,1,0,0,0,0,1,3844,5789.6881,400,2025,1,-20.75173086
+36,0,0,3,11,95.82,0,0,0,0,0,1,0,0,1296,9181.472399999999,9,121,0,14.85653828
+60,0,1,10,30,44.91,1,0,0,1,0,0,1,0,3600,2016.9080999999996,100,900,1,2.71719885
+58,0,0,40,40,94.12,1,0,0,1,0,0,0,1,3364,8858.574400000001,1600,1600,0,-3.401526
+49,0,1,20,29,47.29,0,1,0,1,0,0,1,0,2401,2236.3441,400,841,0,5.78030729
+43,0,1,40,24,56.36,1,0,0,1,0,0,1,0,1849,3176.4496,1600,576,1,12.58604024
+48,0,0,20,31,57.15,1,0,1,0,0,0,1,0,2304,3266.1225,400,961,0,0.00263862
+45,0,0,10,27,87.2,0,1,0,0,0,1,0,0,2025,7603.84,100,729,1,9.41517481
+35,0,1,10,22,48.08,0,0,0,0,0,0,1,0,1225,2311.6864,100,484,0,13.15496995
+42,0,0,30,21,92.31,1,0,0,1,0,0,0,0,1764,8521.1361,900,441,0,3.85158244
+42,0,0,20,21,81.42,0,0,0,0,0,1,0,0,1764,6629.2164,400,441,0,1.13381134
+65,0,0,20,48,85.16,0,0,0,1,0,0,0,1,4225,7252.2256,400,2304,0,3.74410452
+60,0,1,20,40,57.27,0,1,1,0,0,0,0,1,3600,3279.8529000000003,400,1600,1,28.9125503
+48,0,1,15,29,75.86,1,0,0,1,0,0,1,0,2304,5754.7396,225,841,0,1.2507029
+63,0,0,20,43,77.68,1,0,1,0,0,0,0,0,3969,6034.1824000000015,400,1849,0,-7.37318265
+27,0,0,20,12,66.9,0,0,0,1,0,0,0,1,729,4475.610000000001,400,144,1,2.04604024
+45,0,0,30,30,97.07,1,0,0,0,0,0,0,1,2025,9422.584899999998,900,900,0,-2.26919467
+39,0,1,10,23,58.06,0,0,1,0,0,0,0,1,1521,3370.9636,100,529,0,-0.45376901
+35,0,0,30,17,85.16,0,0,0,1,0,0,0,0,1225,7252.2256,900,289,0,8.28002822
+58,0,1,20,33,58.17,0,1,0,1,0,0,0,1,3364,3383.7489,400,1089,0,4.42574706
+33,0,1,20,18,56.13,1,0,1,0,0,0,1,0,1089,3150.5769000000005,400,324,0,6.46574706
+46,0,0,30,25,83.91,0,0,0,0,0,1,1,0,2116,7040.888099999999,900,625,0,4.54051215
+25,0,1,15,7,56.59,1,0,0,0,0,1,1,0,625,3202.4281000000005,225,49,1,2.3770081
+55,0,1,20,25,89.92,0,1,0,0,0,0,0,1,3025,8085.606400000001,400,625,1,-8.2733734
+36,0,1,10,19,66.9,1,0,0,1,0,0,1,0,1296,4475.610000000001,100,361,0,1.59244787
+25,0,0,20,8,95.14,0,0,0,1,0,0,1,0,625,9051.6196,400,64,0,6.91828325
+48,1,0,10,36,78.24,0,0,0,0,0,0,0,0,2304,6121.497599999999,100,1296,0,14.74643585
+29,0,0,20,10,90.38,1,0,0,1,0,0,1,0,841,8168.544399999999,400,100,0,0.338474
+41,1,1,10,21,83.69,1,0,1,0,0,0,0,1,1681,7004.0161,100,441,0,-0.22900392
+45,0,0,40,26,85.84,1,0,1,0,0,0,0,1,2025,7368.5056,1600,676,1,7.14643585
+48,0,0,40,31,92.08,1,0,0,0,0,1,1,0,2304,8478.7264,1600,961,1,0.45284348
+31,0,0,20,22,102.63,1,0,1,0,0,0,1,0,961,10532.916899999998,400,484,0,9.86090776
+59,0,1,10,41,70.53,0,0,1,0,0,0,0,1,3481,4974.4809000000005,100,1681,0,-2.03755213
+34,1,0,5,16,53.64,0,0,0,1,0,0,0,1,1156,2877.2496,25,256,0,-0.11610034
+52,0,1,6,30,77.56,0,0,0,1,0,0,1,0,2704,6015.5536,36,900,1,-10.88192161
+49,0,1,20,29,62.26,0,0,0,0,0,0,0,1,2401,3876.3075999999996,400,841,1,12.58274105
+48,0,1,5,14,60.55,0,0,1,0,0,0,1,0,2304,3666.3025,25,196,0,-1.5829919
+62,1,0,10,48,74.16,1,0,0,0,0,0,0,1,3844,5499.705599999999,100,2304,0,-1.5852208
+36,1,1,5,1,75.41,0,0,1,0,0,0,0,1,1296,5686.6681,25,1,0,-1.02085132
+27,1,0,14,6,70.53,0,0,0,1,0,0,0,1,729,4974.4809000000005,196,36,0,-0.22318265
+42,1,1,20,30,63.5,0,0,0,0,0,0,0,1,1764,4032.25,400,900,0,-2.71862242
+45,0,1,20,15,58.06,1,0,0,0,0,0,1,0,2025,3370.9636,400,225,0,8.16448602
+40,0,0,40,23,89.24,1,0,0,0,0,0,1,0,1600,7963.777599999999,1600,529,1,15.0862451
+51,0,0,10,28,81.53,1,0,0,0,0,0,0,1,2601,6647.1409,100,784,1,5.55973504
+51,0,0,20,32,80.29,0,0,0,1,0,0,0,0,2601,6446.484100000001,400,1024,0,-2.27211236
+48,0,1,10,26,61.8,0,0,1,0,0,0,1,0,2304,3819.24,100,676,0,-4.64736138
+30,0,1,40,15,50.92,0,0,0,1,0,0,0,0,900,2592.8464000000004,1600,225,0,-7.37513248
+46,0,0,20,37,90.15,1,0,0,0,0,0,0,0,2116,8127.022500000001,400,1369,0,8.27954429
+46,0,1,10,23,68.15,1,0,0,1,0,0,1,0,2116,4644.422500000001,100,529,0,9.41429527
+47,0,1,20,26,64.64,1,0,0,1,0,0,1,0,2209,4178.3296,400,676,1,6.12040972
+56,0,0,20,38,85.28,1,0,0,1,0,0,1,0,3136,7272.6784,400,1444,1,-2.27259629
+25,0,0,40,5,67.81,0,1,0,0,0,1,1,0,625,4598.1961,1600,25,0,4.31118683
+62,0,1,20,50,79.04,1,0,1,0,0,0,0,1,3844,6247.321600000001,400,2500,0,-1.9292971
+45,0,0,30,30,69.74,1,0,1,0,0,0,0,0,2025,4863.667599999999,900,900,0,-4.87629109
+26,0,1,20,5,56.36,1,0,0,0,0,1,1,0,676,3176.4496,400,25,1,5.32856232
+41,0,1,6,21,63.16,1,0,0,1,0,0,0,1,1681,3989.1856,36,441,1,2.61089365
+46,0,0,40,29,92.99,1,0,1,0,0,0,1,0,2116,8647.140099999999,1600,841,0,-41.28046982
+38,0,1,10,23,72.57,0,0,0,0,1,0,1,0,1444,5266.404899999999,100,529,1,12.25177319
+45,0,0,20,29,77.22,0,0,1,0,0,0,1,0,2025,5962.9284,400,841,0,1.25148001
+55,0,0,2,43,99.68,1,0,0,0,1,0,1,0,3025,9936.102400000002,4,1849,0,2.83187562
+25,0,1,25,10,54.66,0,1,0,0,1,0,0,0,625,2987.7155999999995,625,100,0,1.58545388
+28,0,0,50,17,70.42,0,0,0,1,0,0,0,0,784,4958.9764000000005,2500,289,0,7.59788764
+30,0,0,40,11,65.88,1,0,0,1,0,0,0,1,900,4340.174399999999,1600,121,0,8.50914868
+26,0,1,5,11,65.2,1,0,0,0,1,0,1,0,676,4251.04,25,121,0,0.57089365
+32,0,1,12,12,63.28,1,0,0,1,0,0,1,0,1024,4004.3584,144,144,1,10.65555631
+49,0,0,40,37,76.2,0,1,0,1,0,0,0,1,2401,5806.4400000000005,1600,1369,0,7.71458845
+39,0,1,1,18,56.81,1,0,0,1,0,0,1,0,1521,3227.3761000000004,1,324,1,-2.3789156
+35,0,1,40,17,61.35,1,0,0,1,0,0,1,0,1225,3763.8225,1600,289,0,-0.56862242
+46,0,1,6,21,64.52,0,0,0,0,0,1,0,0,2116,4162.8304,36,441,1,-0.10988346
+28,0,0,20,12,94.12,1,0,1,0,0,0,1,0,784,8858.574400000001,400,144,0,2.49517481
+49,0,0,30,30,71.33,0,0,0,1,0,0,0,0,2401,5087.9689,900,900,0,4.41992579
+40,0,1,10,25,65.88,1,0,0,1,0,0,0,1,1600,4340.174399999999,100,625,0,5.78759446
+32,0,0,30,18,79.61,1,0,0,1,0,0,0,1,1024,6337.7521,900,324,0,-0.23133525
+49,0,0,20,32,83.35,0,0,0,1,0,0,0,0,2401,6947.222499999999,400,1024,1,4.64691978
+53,0,0,25,39,83.8,0,1,0,0,0,1,0,1,2809,7022.44,625,1521,0,8.73284348
+48,0,1,40,33,55.91,1,0,0,1,0,0,1,0,2304,3125.9280999999996,1600,1089,0,6.23215469
+34,0,1,20,2,87.2,1,0,0,1,0,0,0,1,1156,7603.84,400,4,0,-12.35725895
+33,0,0,40,15,91.06,0,0,0,0,1,0,0,0,1089,8291.9236,1600,225,0,-3.51667259
+53,0,0,40,32,102.51,0,0,0,1,0,0,0,1,2809,10508.3001,1600,1024,0,-0.45171675
+27,0,0,15,9,63.39,1,0,0,1,0,0,1,0,729,4018.2921,225,81,0,0.1129318
+32,0,1,15,10,50.58,1,0,0,0,1,0,1,0,1024,2558.3363999999997,225,100,0,2.03671492
+43,1,1,20,19,51.48,0,0,0,1,0,0,0,1,1849,2650.1903999999995,400,361,0,-6.57435537
+55,1,0,10,22,78.24,0,0,1,0,0,0,0,0,3025,6121.497599999999,100,484,1,2.49944186
+32,1,0,20,13,89.24,0,0,0,0,0,1,0,1,1024,7963.777599999999,400,169,0,2.83925111
+74,0,1,5,44,73.94,0,1,0,1,0,0,0,1,5476,5467.1236,25,1936,1,-22.23046982
+50,1,1,6,32,44.45,0,0,0,1,0,0,0,1,2500,1975.8025000000002,36,1024,0,1.36282937
+32,1,0,15,9,99.45,0,0,0,0,0,1,0,0,1024,9890.3025,225,81,0,-3.74200993
+61,0,0,20,45,80.85,1,0,0,1,0,0,1,0,3721,6536.722499999999,400,2025,0,3.51818082
+66,0,0,60,45,59.76,1,0,0,0,0,0,0,1,4356,3571.2576,3600,2025,0,2.38215469
+40,0,1,20,29,53.86,0,1,0,0,0,0,0,1,1600,2900.8995999999997,400,841,0,10.55011654
+46,0,1,20,26,55.34,0,0,0,0,1,0,0,0,2116,3062.5156,400,676,0,1.35904625
+47,0,0,40,31,72.69,0,0,1,0,0,0,0,1,2209,5283.8360999999995,1600,961,0,-0.1152208
+61,0,1,20,16,47.06,1,0,1,0,0,0,1,0,3721,2214.6436000000003,400,256,0,-1.700763
+28,0,0,25,13,73.82,0,1,0,0,0,1,0,0,784,5449.392399999999,625,169,0,12.81614267
+41,0,0,15,27,71.21,1,0,0,1,0,0,1,0,1681,5070.864099999999,225,729,0,48.53838568
+36,0,0,50,19,84.03,1,0,0,0,0,1,1,0,1296,7061.0409,2500,361,1,5.32769689
+47,0,1,20,31,60.67,1,0,0,1,0,0,1,0,2209,3680.8489000000004,400,961,1,3.74011654
+48,0,0,10,27,76.66,1,0,0,1,0,0,1,0,2304,5876.7555999999995,100,729,0,9.5225503
+46,0,0,45,29,82.33,0,0,0,1,0,0,0,1,2116,6778.2289,2025,841,0,2.49177319
+25,0,0,20,9,75.98,0,0,0,1,0,0,1,0,625,5772.960400000001,400,81,1,6.12021897
+44,0,0,20,35,77.56,0,0,0,1,0,0,1,0,1936,6015.5536,400,1225,0,13.158474
+34,0,0,11,20,101.72,0,1,0,0,0,1,0,1,1156,10346.9584,121,400,1,-6.01200993
+30,1,0,20,16,92.08,0,0,0,1,0,0,0,1,900,8478.7264,400,256,0,21.77168487
+28,1,1,30,12,95.48,1,0,0,1,0,0,1,0,784,9116.430400000001,900,144,1,-8.39026496
+43,0,1,30,18,59.65,1,0,0,0,0,1,0,1,1849,3558.1225,900,324,1,20.18225712
+25,0,0,25,8,75.86,0,1,0,0,0,1,1,0,625,5754.7396,625,64,1,10.77614267
+46,0,0,50,32,64.41,1,0,0,0,0,1,1,0,2116,4148.648099999999,2500,1024,0,-4.98939953
+55,0,0,40,35,83.12,1,0,0,0,0,1,1,0,3025,6908.934400000001,1600,1225,0,0.34099608
+46,1,1,15,26,47.74,1,0,1,0,0,0,1,0,2116,2279.1076000000003,225,676,0,4.42312255
+31,1,1,20,15,59.08,0,1,0,0,1,0,0,1,961,3490.4464,400,225,0,14.85555631
+46,1,1,10,32,70.53,1,0,1,0,0,0,1,0,2116,4974.4809000000005,100,1024,0,0.23040972
+54,0,1,20,33,62.37,0,0,0,1,0,0,0,0,2916,3890.0168999999996,400,1089,1,9.29759446
+37,0,0,20,20,77.34,0,0,0,1,0,0,1,0,1369,5981.475600000001,400,400,0,2.94584949
+39,0,1,20,23,61.46,1,0,0,0,0,1,1,0,1521,3777.3316,400,529,0,-0.22503005
+58,0,1,20,29,72.57,1,0,0,1,0,0,1,0,3364,5266.404899999999,400,841,0,2.27274105
+29,0,1,20,11,54.2,0,1,0,0,1,0,0,1,841,2937.6400000000003,400,121,0,8.84933943
+44,0,0,10,26,68.72,0,0,0,0,0,0,1,0,1936,4722.4384,100,676,0,2.04040972
+33,0,0,40,15,100.13,0,0,0,1,0,0,0,0,1089,10026.016899999999,1600,225,0,-1.24686334
+38,0,1,30,20,55.57,1,0,0,1,0,0,1,0,1444,3088.0249,900,400,0,6.11856232
+47,0,1,20,24,71.44,1,0,1,0,0,0,1,0,2209,5103.6736,400,576,0,3.40274105
+68,0,0,40,40,85.28,1,0,0,0,0,1,1,0,4624,7272.6784,1600,1600,0,0.9025503
+27,0,1,40,11,56.36,1,0,0,0,1,0,1,0,729,3176.4496,1600,121,0,1.24623099
+56,0,1,2,11,73.14,0,0,0,0,0,0,1,0,3136,5349.4596,4,121,1,3.9707029
+25,0,1,20,8,52.39,1,0,0,1,0,0,1,0,625,2744.7121,400,64,0,-2.4948393
+29,0,1,35,15,84.82,1,0,1,0,0,0,0,1,841,7194.432399999999,1225,225,0,-11.33803606
+25,0,0,15,11,66.79,0,0,0,1,0,0,0,0,625,4460.904100000001,225,121,0,8.05274105
+38,0,0,30,21,72.8,1,0,0,1,0,0,1,0,1444,5299.839999999999,900,441,0,6.57866475
+26,1,0,10,10,70.42,0,0,0,1,0,0,1,0,676,4958.9764000000005,100,100,1,5.78351816
+58,0,0,5,38,74.84,0,1,0,1,0,0,0,1,3364,5601.025600000001,25,1444,1,-4.07959028
+56,0,1,30,44,74.28,0,1,1,0,0,0,0,1,3136,5517.5184,900,1936,0,1.01633342
+55,0,1,20,37,57.04,1,0,0,1,0,0,0,1,3025,3253.5616,400,1369,0,9.18448602
+31,0,0,30,8,73.37,1,0,0,0,0,1,1,0,961,5383.156900000001,900,64,1,-1.70240554
+37,0,1,40,19,64.3,1,0,0,1,0,0,0,0,1369,4134.49,1600,361,0,4.64604024
+36,0,1,30,26,72.69,0,0,0,1,0,0,1,0,1296,5283.8360999999995,900,676,0,-0.56881317
+44,0,1,30,24,64.86,1,0,0,0,0,0,1,0,1936,4206.8196,900,576,1,5.44681735
+55,0,0,10,41,49.1,0,1,1,0,0,0,0,1,3025,2410.81,100,1681,0,-3.740763
+51,0,0,40,33,87.77,1,0,0,1,0,0,1,0,2601,7703.572899999999,1600,1089,0,5.21643585
+30,0,1,18,13,53.86,0,0,0,1,0,0,0,0,900,2900.8995999999997,324,169,0,1.47826914
+48,0,0,20,30,57.83,0,0,0,1,0,0,0,0,2304,3344.3089,400,900,1,4.76574706
+65,0,0,20,41,75.18,0,0,0,0,0,0,1,0,4225,5652.032400000001,400,1681,0,7.37381134
+42,0,0,20,21,79.49,0,0,0,1,0,0,1,0,1764,6318.660099999999,400,441,1,8.05332741
+43,0,0,20,28,79.61,0,0,0,1,0,0,1,0,1849,6337.7521,400,784,0,4.30458845
+56,0,0,20,35,75.07,0,0,0,0,0,0,1,0,3136,5635.504899999999,400,1225,0,1.58711053
+39,0,0,30,21,80.74,0,0,0,1,0,0,0,1,1521,6518.9475999999995,900,441,0,-5.44366658
+47,0,1,30,29,47.74,1,0,0,1,0,0,0,1,2209,2279.1076000000003,900,841,0,-0.56639352
+42,0,0,20,22,57.27,0,0,0,1,0,0,1,0,1764,3279.8529000000003,400,484,0,0.78982336
+30,0,0,20,14,99.11,0,0,0,1,0,0,1,0,900,9822.7921,400,196,0,3.40187562
+27,0,1,15,8,59.08,0,0,0,1,0,0,0,0,729,3490.4464,225,64,0,3.96933943
+28,0,0,20,8,89.58,0,0,0,1,0,0,1,0,784,8024.5764,400,64,0,-1.58308022
+43,0,0,30,23,94.46,0,0,0,1,0,0,0,0,1849,8922.691599999998,900,529,0,3.96954429
+43,0,0,40,26,57.49,0,0,0,0,0,0,1,0,1849,3305.1001,1600,676,0,3.29137758
+65,0,0,14,47,57.38,0,0,1,0,0,0,1,0,4225,3292.4644000000003,196,2209,1,-0.68095375
+26,0,0,30,10,115.21,0,0,0,1,0,0,0,0,676,13273.344099999998,900,100,0,7.71353227
+31,0,0,50,15,78.36,1,0,0,1,0,0,1,0,961,6140.2896,2500,225,1,-7.59959028
+27,0,1,20,9,59.53,1,0,0,0,0,1,1,0,729,3543.8209,400,81,0,13.0447792
+40,0,0,6,24,114.65,0,0,0,1,0,0,0,0,1600,13144.622500000001,36,576,1,6.00557042
+34,0,1,20,12,52.16,0,0,0,1,0,0,1,0,1156,2720.6656,400,144,1,10.43574706
+46,0,1,20,28,58.17,1,0,1,0,0,0,0,1,2116,3383.7489,400,784,0,-10.08920878
+42,0,0,30,29,63.62,0,0,0,1,0,0,0,0,1764,4047.5044,900,841,1,3.05807839
+32,0,0,15,16,79.04,0,0,0,1,0,0,0,0,1024,6247.321600000001,225,256,1,-1.9292971
+31,0,0,20,14,80.29,0,0,0,0,0,1,0,0,961,6446.484100000001,400,196,1,19.95391377
+26,0,0,20,8,78.36,1,0,0,0,0,1,1,0,676,6140.2896,400,64,0,-1.2492971
+28,0,1,10,4,56.13,0,0,0,0,1,0,1,0,784,3150.5769000000005,100,16,0,3.29060047
+44,0,0,40,28,62.94,1,0,0,1,0,0,0,0,1936,3961.4435999999996,1600,784,0,3.73807839
+41,0,0,15,21,85.62,0,0,0,1,0,0,0,0,1681,7330.7844000000005,225,441,0,7.36643585
+33,0,0,20,20,81.53,1,0,0,0,1,0,0,0,1089,6647.1409,400,400,1,4.6525503
+43,0,1,20,22,42.07,0,0,0,1,0,0,1,0,1849,1769.8849,400,484,0,5.55719885
+67,0,0,20,45,90.38,1,0,0,1,0,0,1,0,4489,8168.544399999999,400,2025,0,-2.38308022
+26,0,0,25,12,60.67,1,0,0,0,1,0,0,1,676,3680.8489000000004,625,144,0,7.82244787
+34,0,0,40,19,76.2,1,0,0,1,0,0,0,1,1156,5806.4400000000005,1600,361,0,2.72507238
+43,0,0,20,27,72.01,1,0,0,1,0,0,0,1,1849,5185.440100000001,400,729,0,2.83274105
+40,0,0,20,35,75.98,1,0,0,0,0,0,0,1,1600,5772.960400000001,400,1225,0,4.75944186
+29,0,0,30,11,90.26,1,0,0,1,0,0,0,0,841,8146.8676000000005,900,121,0,-8.6133734
+39,0,0,40,21,99.79,1,0,0,0,1,0,0,1,1521,9958.044100000001,1600,441,0,-5.89637941
+28,0,1,30,15,42.3,1,0,1,0,0,0,1,0,784,1789.2899999999997,900,225,0,7.5951607
+51,0,0,40,35,80.29,0,0,0,0,0,0,0,1,2601,6446.484100000001,1600,1225,0,4.07818082
+50,0,0,30,33,71.44,0,0,0,1,0,0,0,0,2500,5103.6736,900,1089,1,11.11381134
+44,0,0,50,28,46.95,1,0,1,0,0,0,1,0,1936,2204.3025000000002,2500,784,1,-8.84824092
+44,0,1,20,26,63.73,1,0,0,0,1,0,1,0,1936,4061.5128999999997,400,676,0,-2.04143768
+26,0,1,20,7,52.5,0,0,0,1,0,0,0,0,676,2756.25,400,49,0,-3.96561641
+52,0,1,20,32,59.19,1,0,0,1,0,0,0,1,2704,3503.4561,400,1024,0,-12.46998589
+57,0,0,25,43,100.24,0,1,0,0,0,0,0,1,3249,10048.057599999998,625,1849,1,-12.24308022
+44,0,0,20,28,74.05,0,0,0,1,0,0,0,0,1936,5483.402499999999,400,784,1,10.77177319
+39,0,0,20,24,72.57,0,0,0,1,0,0,0,1,1521,5266.404899999999,400,576,1,14.06614267
+41,1,1,10,23,65.88,0,0,0,1,0,0,0,1,1681,4340.174399999999,100,529,0,0.79807839
+37,0,0,40,20,77.0,0,0,0,0,1,0,1,0,1369,5929.0,1600,400,0,2.83225712
+35,0,1,12,15,52.5,0,0,0,1,0,0,0,0,1225,2756.25,144,225,0,3.74545388
+56,0,0,20,44,74.96,0,0,0,1,0,0,1,0,3136,5619.001599999999,400,1936,1,2.60429527
+40,0,0,30,30,68.83,1,0,0,0,1,0,1,0,1600,4737.5689,900,900,0,8.2807029
+34,0,0,15,19,71.55,0,0,0,1,0,0,0,0,1156,5119.402499999999,225,361,1,10.0966266
+62,0,1,20,41,74.28,0,0,1,0,0,0,1,0,3844,5517.5184,400,1681,0,-1.7052208
+52,0,0,30,36,69.17,0,1,0,1,0,0,0,1,2704,4784.4889,900,1296,0,1.13681735
+54,0,1,20,32,58.97,0,0,1,0,0,0,1,0,2916,3477.4609,400,1024,0,2.71856232
+49,0,0,60,17,88.45,1,0,0,1,0,0,1,0,2401,7823.4025,3600,289,0,3.17565874
+56,0,0,30,35,74.84,0,0,0,0,0,1,0,0,3136,5601.025600000001,900,1225,0,-1.35803606
+68,0,0,32,54,74.28,1,0,0,0,0,0,0,1,4624,5517.5184,1024,2916,0,-16.67376901
+41,0,0,30,23,104.78,1,0,0,0,0,1,0,0,1681,10978.8484,900,529,0,-2.26812438
+30,0,1,2,12,60.1,1,0,0,0,1,0,1,0,900,3612.01,4,144,0,8.39244787
+46,0,1,40,30,54.32,1,0,0,1,0,0,0,0,2116,2950.6624,1600,900,0,3.73982336
+51,0,1,15,35,57.04,1,0,0,1,0,0,0,1,2601,3253.5616,225,1225,0,3.74137758
+25,0,0,20,7,59.65,0,0,0,0,0,1,0,0,625,3558.1225,400,49,0,6.12089365
+35,0,1,8,14,118.16,1,0,1,0,0,0,1,0,1225,13961.7856,64,196,0,2.04197805
+43,0,1,20,22,56.13,0,0,0,1,0,0,0,0,1849,3150.5769000000005,400,484,0,6.01215469
+62,0,1,20,44,77.9,0,1,1,0,0,0,0,1,3844,6068.410000000001,400,1936,1,20.98313666
+48,0,1,20,29,84.37,1,0,0,1,0,0,0,1,2304,7118.296900000001,400,841,0,12.69876718
+53,0,0,5,13,89.92,0,0,0,0,1,0,0,0,2809,8085.606400000001,25,169,1,6.69517481
+49,0,1,30,29,74.16,0,0,0,0,0,1,1,0,2401,5499.705599999999,900,841,0,-8.84269872
+32,0,1,30,15,53.18,1,0,1,0,0,0,1,0,1024,2828.1124,900,225,1,8.96215469
+54,0,1,20,38,70.87,0,0,0,1,0,0,0,1,2916,5022.5569000000005,400,1444,0,13.04458845
+39,0,0,30,23,86.07,1,0,1,0,0,0,0,0,1521,7408.044899999999,900,529,0,2.83410452
+41,0,1,20,21,59.19,0,1,0,1,0,0,1,0,1681,3503.4561,400,441,0,11.11681735
+48,1,1,8,26,49.55,0,1,0,1,0,0,0,1,2304,2455.2025,64,676,0,2.61312255
+47,0,0,15,29,72.23,0,0,0,0,0,1,1,0,2209,5217.1729000000005,225,841,1,8.50944186
+32,0,0,40,18,83.46,0,0,1,0,0,0,0,0,1024,6965.571599999999,1600,324,1,3.62973504
+37,0,1,40,21,49.9,0,0,1,0,0,0,1,0,1369,2490.0099999999998,1600,441,0,3.62389966
+47,0,1,40,31,52.62,1,0,0,1,0,0,1,0,2209,2768.8644,1600,961,0,6.80060047
+25,0,0,20,5,69.06,1,0,0,1,0,0,0,0,625,4769.283600000001,400,25,0,4.42196394
+69,0,1,20,34,67.93,0,1,1,0,0,0,0,1,4761,4614.484900000001,400,1156,0,-13.95250797
+42,1,0,20,28,59.87,1,0,1,0,0,0,1,0,1764,3584.4168999999997,400,784,0,5.90089365
+50,0,1,30,32,64.41,1,0,0,1,0,0,1,0,2500,4148.648099999999,900,1024,1,7.25759446
+32,0,1,20,13,54.09,0,0,0,1,0,0,1,0,1024,2925.7281000000003,400,169,0,1.70186151
+28,0,1,20,13,47.06,1,0,0,1,0,0,0,1,784,2214.6436000000003,400,169,1,21.43244787
+42,0,1,5,27,80.29,0,1,0,1,0,0,0,1,1764,6446.484100000001,25,729,0,22.22187562
+45,0,0,10,29,94.91,0,0,1,0,0,0,1,0,2025,9007.908099999999,100,841,1,3.97313666
+28,0,0,40,9,82.78,1,0,1,0,0,0,0,1,784,6852.5284,1600,81,0,2.49536556
+32,0,1,10,4,48.87,0,0,0,1,0,0,0,0,1024,2388.2769,100,16,0,6.01467677
+42,0,1,20,23,63.84,0,1,0,1,0,0,1,0,1764,4075.5456000000004,400,529,0,12.81711053
+31,0,1,30,15,62.6,0,0,0,1,0,0,0,0,961,3918.76,900,225,1,-0.91143768
+39,0,1,30,22,62.26,1,0,1,0,0,0,1,0,1521,3876.3075999999996,900,484,0,7.13963261
+36,0,1,60,14,61.58,1,0,1,0,0,0,0,1,1296,3792.0964,3600,196,0,-8.05610034
+29,0,1,30,13,48.76,0,0,0,1,0,0,0,0,841,2377.5375999999997,900,169,0,7.93904625
+25,0,1,4,13,81.53,1,0,0,1,0,0,1,0,625,6647.1409,16,169,0,-13.4911445
+36,0,1,9,16,47.85,1,0,0,1,0,0,0,0,1296,2289.6225,81,256,0,3.40593781
+51,0,0,20,35,105.57,1,0,0,0,1,0,0,1,2601,11145.024899999999,400,1225,0,-13.49074889
+29,0,1,40,15,64.75,0,0,0,1,0,0,1,0,841,4192.5625,1600,225,0,-1.2470682
+42,0,0,20,25,81.19,1,0,1,0,0,0,1,0,1764,6591.8161,400,625,1,9.98206637
+30,0,0,20,14,65.43,0,0,0,0,0,0,0,0,900,4281.084900000001,400,196,0,-2.83425294
+28,0,0,3,11,82.1,0,0,0,1,0,0,0,0,784,6740.409999999999,9,121,0,-4.9892971
+36,0,1,20,14,57.04,1,0,0,1,0,0,0,1,1296,3253.5616,400,196,0,4.64856232
+34,0,1,40,4,105.8,1,0,1,0,0,0,0,1,1156,11193.64,1600,16,0,-30.05007421
+43,1,1,20,18,84.25,1,0,0,1,0,0,0,1,1849,7098.0625,400,324,0,4.20051215
+40,0,0,20,21,81.53,1,0,0,1,0,0,1,0,1600,6647.1409,400,441,0,0.1166266
+37,0,1,10,12,51.03,0,1,1,0,0,0,0,1,1369,2604.0609,100,144,0,7.02982336
+34,0,1,40,21,56.36,0,0,1,0,0,0,1,0,1156,3176.4496,1600,441,0,-0.11454612
+38,0,0,30,22,85.5,1,0,0,1,0,0,1,0,1444,7310.25,900,484,0,7.03284348
+55,0,0,20,36,72.12,1,0,1,0,0,0,0,1,3025,5201.294400000001,400,1296,1,17.23769689
+45,0,1,20,24,105.35,1,0,0,1,0,0,1,0,2025,11098.6225,400,576,0,-15.08511837
+41,0,1,2,20,76.88,1,0,0,1,0,0,0,0,1681,5910.5344,4,400,0,-2.49085132
+29,0,0,15,12,60.78,0,0,0,1,0,0,1,0,841,3694.2084,225,144,0,6.35167076
+64,0,1,15,40,56.02,1,0,0,1,0,0,1,0,4096,3138.2404,225,1600,0,2.9470081
+53,0,1,20,27,69.97,1,0,0,0,0,0,1,0,2809,4895.8009,400,729,0,-9.18862242
+55,0,0,40,43,73.82,1,0,1,0,0,0,0,1,3025,5449.392399999999,1600,1849,0,1.02274105
+33,0,0,2,15,78.24,1,0,0,0,0,1,1,0,1089,6121.497599999999,4,225,1,0.23148001
+40,0,0,40,22,104.1,0,0,1,0,0,0,1,0,1600,10836.81,1600,484,1,4.7621688
+50,0,0,50,34,81.31,0,0,0,0,0,0,0,0,2500,6611.3161,2500,1156,0,4.41895793
+30,0,1,30,11,84.82,1,0,0,1,0,0,0,0,900,7194.432399999999,900,121,0,4.99128926
+36,0,1,2,19,59.53,1,0,0,1,0,0,1,0,1296,3543.8209,4,361,0,13.0447792
+43,0,1,20,24,44.45,1,0,0,1,0,0,1,0,1849,1975.8025000000002,400,576,0,10.88826914
+26,0,0,20,11,66.79,0,0,1,0,0,0,0,0,676,4460.904100000001,400,121,0,-3.2870682
+45,0,1,20,35,86.3,1,0,0,0,0,0,0,1,2025,7447.69,400,1225,0,14.85109851
+35,1,0,20,17,75.52,0,0,0,0,0,0,1,0,1225,5703.270399999999,400,289,0,7.03381134
+29,0,0,6,14,75.86,1,0,0,0,0,0,1,0,841,5754.7396,36,196,0,-3.2852208
+44,0,1,8,24,59.65,1,0,0,0,0,1,1,0,1936,3558.1225,64,576,0,2.94574706
+25,1,1,8,12,60.78,0,0,0,0,0,0,0,1,625,3694.2084,64,144,0,4.99089365
+33,0,0,20,16,73.03,1,0,0,0,0,0,1,0,1089,5333.3809,400,256,0,1.35914868
+48,1,1,12,30,50.69,0,0,0,1,0,0,0,1,2304,2569.4761,144,900,0,-0.7948393
+57,1,0,7,36,93.55,0,0,0,0,0,0,1,0,3249,8751.602499999999,49,1296,0,1.7043977
+53,0,0,8,30,72.35,1,0,0,0,0,0,0,0,2809,5234.522499999999,64,900,0,-2.04318265
+43,0,0,40,27,71.44,0,0,0,1,0,0,1,0,1849,5103.6736,1600,729,1,2.04196394
+45,0,1,20,27,91.63,1,0,0,1,0,0,1,0,2025,8396.0569,400,729,0,-14.5192971
+39,0,1,30,23,64.3,0,0,0,0,0,0,0,0,1521,4134.49,900,529,0,-1.25066057
+45,0,1,30,30,80.85,1,0,0,1,0,0,0,1,2025,6536.722499999999,900,900,0,9.868474
+32,1,1,20,16,79.15,1,0,1,0,0,0,0,1,1024,6264.722500000001,400,256,0,2.4966266
+32,0,1,50,11,62.94,1,0,0,1,0,0,0,1,1024,3961.4435999999996,2500,121,0,7.36681735
+25,0,1,15,4,64.64,1,0,0,0,0,1,1,0,625,4178.3296,225,16,0,10.20274105
+37,1,1,20,14,75.86,1,0,0,0,1,0,1,0,1369,5754.7396,400,196,1,3.51866475
+50,0,1,20,31,66.9,0,0,0,0,0,0,0,0,2500,4475.610000000001,400,961,0,8.39633342
+34,0,1,20,19,54.2,0,0,0,0,0,1,0,0,1156,2937.6400000000003,400,361,0,7.48856232
+31,0,1,10,15,65.88,1,0,0,1,0,0,0,1,961,4340.174399999999,100,225,0,23.02410452
+37,0,1,30,17,45.47,1,0,0,0,0,1,1,0,1369,2067.5209,900,289,0,4.4251607
+48,0,1,20,31,67.59,1,0,0,0,0,1,1,0,2304,4568.408100000001,400,961,0,-3.63347583
+25,0,1,40,10,75.18,0,0,0,1,0,0,1,0,625,5652.032400000001,1600,100,0,5.55944186
+57,0,1,40,39,60.55,0,1,1,0,0,0,0,1,3249,3666.3025,1600,1521,0,2.04574706
+40,0,0,35,25,80.74,0,0,0,0,1,0,1,0,1600,6518.9475999999995,1225,625,1,-2.26851999
+50,0,0,30,35,77.68,1,0,0,1,0,0,1,0,2500,6034.1824000000015,900,1225,0,5.78099608
+51,0,1,20,16,54.88,0,0,0,0,1,0,1,0,2601,3011.8144,400,256,0,-0.4489156
+61,0,0,12,49,71.33,1,0,1,0,0,0,0,1,3721,5087.9689,144,2401,1,3.51274105
+67,0,0,30,51,78.7,0,0,0,0,0,1,1,0,4489,6193.6900000000005,900,2601,1,-2.49648184
+74,0,0,10,53,68.83,1,0,1,0,0,0,1,0,5476,4737.5689,100,2809,1,-2.15192161
+69,0,0,40,52,79.49,1,0,0,1,0,0,0,1,4761,6318.660099999999,1600,2704,0,-1.92570473
+27,0,1,40,6,66.11,1,0,1,0,0,0,1,0,729,4370.5321,1600,36,0,8.27914868
+53,0,1,20,37,60.44,0,0,0,1,0,0,0,1,2809,3652.9936,400,1369,0,32.09284348
+34,0,0,45,21,62.48,0,1,0,0,1,0,1,0,1156,3903.7503999999994,2025,441,0,0.56933943
+63,0,0,40,44,55.79,0,0,1,0,0,0,1,0,3969,3112.5241,1600,1936,1,3.1770081
+42,0,1,20,25,66.56,1,0,0,0,0,1,1,0,1764,4430.2336000000005,400,625,0,-1.24269872
+53,0,0,40,37,79.38,0,0,1,0,0,0,0,1,2809,6301.184399999999,1600,1369,0,0.45225712
+28,0,1,20,12,52.28,1,0,0,0,0,1,1,0,784,2733.1984,400,144,0,8.04778521
+38,0,0,30,19,121.9,1,0,1,0,0,0,0,1,1444,14859.61,900,361,1,14.63130337
+59,0,1,20,38,88.68,1,0,0,1,0,0,1,0,3481,7864.1424000000015,400,1444,0,-10.20851999
+28,1,1,12,18,57.49,1,0,1,0,0,0,1,0,784,3305.1001,144,324,0,0.11623099
+27,0,1,10,10,53.52,1,0,0,0,0,1,0,1,729,2864.3904,100,100,1,4.53982336
+33,0,0,20,16,75.86,1,0,0,0,0,1,0,1,1089,5754.7396,400,256,0,2.15788764
+54,0,1,10,36,62.26,1,0,0,1,0,0,1,0,2916,3876.3075999999996,100,1296,0,6.23244787
+54,0,0,30,36,86.86,1,0,0,0,1,0,0,0,2916,7544.6596,900,1296,0,-0.6774497
+26,0,0,15,12,111.58,0,0,0,0,1,0,1,0,676,12450.0964,225,144,0,3.17886961
+32,0,1,15,12,104.89,0,0,0,1,0,0,0,0,1024,11001.9121,225,144,0,15.76557042
+56,0,0,80,38,42.41,0,0,0,0,1,0,0,1,3136,1798.6080999999997,6400,1444,1,19.73215469
+33,0,1,35,17,79.04,0,0,0,1,0,0,1,0,1089,6247.321600000001,1225,289,0,2.6066266
+43,0,1,40,27,61.8,0,0,1,0,0,0,0,1,1849,3819.24,1600,729,0,4.42448602
+50,1,0,10,27,103.53,0,1,0,1,0,0,0,1,2500,10718.4609,100,729,0,-17.80104207
+29,1,1,20,13,55.22,0,0,0,1,0,0,1,0,841,3049.2484,400,169,0,9.64370891
+32,0,0,60,19,90.95,1,0,1,0,0,0,1,0,1024,8271.9025,3600,361,0,8.8403214
+35,0,1,10,13,65.54,0,0,0,0,1,0,0,0,1225,4295.491600000001,100,169,1,25.178474
+65,1,0,20,40,83.8,1,0,1,0,0,0,1,0,4225,7022.44,400,1600,0,2.83614267
+49,0,1,4,32,54.88,1,0,0,1,0,0,1,0,2401,3011.8144,16,1024,0,10.89089365
+36,1,0,20,19,87.09,1,0,0,1,0,0,1,0,1296,7584.668100000001,400,361,0,3.628474
+40,0,1,1,23,63.16,0,0,0,0,0,1,0,0,1600,3989.1856,1,529,1,3.06448602
+42,0,1,4,22,56.13,1,0,0,0,0,1,0,0,1764,3150.5769000000005,16,484,0,8.28011654
+31,0,0,20,13,61.8,0,1,0,0,0,1,1,0,961,3819.24,400,169,0,8.50681735
+34,0,1,15,19,60.21,0,0,0,1,0,0,1,0,1156,3625.2441,225,361,0,0.11778521
+35,0,1,20,15,45.25,0,0,0,1,0,0,0,0,1225,2047.5625,400,225,0,12.80982336
+32,0,1,15,12,53.07,0,0,0,0,1,0,0,1,1024,2816.4249,225,144,0,4.98982336
+36,0,1,5,1,56.81,1,0,0,1,0,0,1,0,1296,3227.3761000000004,25,1,1,8.05370891
+39,0,0,50,21,86.75,1,0,0,0,0,1,1,0,1521,7525.5625,2500,441,0,-7.82492762
+53,0,1,20,33,63.96,1,0,1,0,0,0,0,1,2809,4090.8816,400,1089,0,0.45011654
+27,0,1,20,5,79.38,0,0,1,0,0,0,0,0,729,6301.184399999999,400,25,0,-5.44444369
+25,0,0,10,13,69.63,0,0,0,0,0,0,0,0,625,4848.336899999999,100,169,0,14.73818082
+41,0,1,10,13,51.14,0,0,1,0,0,0,0,0,1681,2615.2996000000003,100,169,0,13.27011654
+72,0,1,4,7,93.67,0,1,0,0,0,0,0,1,5184,8774.0689,16,49,1,-21.0952208
+40,0,0,20,24,99.56,0,0,0,0,0,0,0,0,1600,9912.1936,400,576,1,-0.22327097
+57,0,0,20,37,66.68,0,0,0,0,0,0,0,0,3249,4446.222400000001,400,1369,0,1.3588555
+45,0,0,45,33,62.03,0,0,0,1,0,0,1,0,2025,3847.7209000000003,2025,1089,0,4.19448602
+60,0,0,12,50,56.36,0,1,0,0,0,0,1,0,3600,3176.4496,144,2500,0,2.6070081
+36,0,1,20,19,49.9,0,0,0,0,0,0,0,0,1296,2490.0099999999998,400,361,0,3.17030729
+47,0,1,20,28,55.91,0,1,0,1,0,0,0,1,2209,3125.9280999999996,400,784,0,8.50011654
+33,0,1,40,17,98.77,1,0,0,1,0,0,1,0,1089,9755.5129,1600,289,0,-1.70123282
+39,0,0,30,26,64.75,1,0,0,0,0,0,1,0,1521,4192.5625,900,676,0,3.74244787
+39,0,1,40,25,56.47,0,0,0,0,1,0,0,0,1521,3188.8608999999997,1600,625,0,-1.13173086
+31,0,0,40,19,63.39,1,0,1,0,0,0,0,0,961,4018.2921,1600,361,0,4.19526313
+50,0,1,25,32,47.17,0,0,0,0,0,0,0,1,2500,2225.0089000000003,625,1024,0,4.08593781
+55,0,1,20,39,59.42,0,0,0,0,0,0,1,0,3025,3530.7364000000002,400,1521,0,5.89730128
+34,0,0,20,16,66.68,1,0,1,0,0,0,1,0,1156,4446.222400000001,400,256,0,0.90526313
+69,0,1,20,34,44.91,1,0,0,0,0,0,1,0,4761,2016.9080999999996,400,1156,0,-0.00435537
+25,0,1,15,13,63.96,0,0,0,1,0,0,0,0,625,4090.8816,225,169,0,-4.08580716
+64,0,1,6,30,51.03,0,0,0,0,0,1,1,0,4096,2604.0609,36,900,0,-2.94920878
+42,0,0,8,29,54.54,0,0,0,0,0,0,1,0,1764,2974.6115999999997,64,841,0,2.15904625
+47,0,1,20,31,84.94,0,0,0,0,0,0,0,0,2209,7214.803599999999,400,961,0,8.50002822
+45,0,0,40,29,63.05,0,0,0,0,0,0,0,0,2025,3975.3025,1600,841,0,1.36011654
+47,0,1,20,31,57.72,0,0,0,0,0,0,0,0,2209,3331.5984,400,961,0,3.51496995
+68,0,0,15,46,52.39,1,0,0,0,0,0,1,0,4624,2744.7121,225,2116,0,4.76263862
+29,0,0,30,14,90.83,1,0,1,0,0,0,1,0,841,8250.088899999999,900,196,1,15.76420695
diff --git a/causalpy/data/schoolingReturns.csv b/causalpy/data/schoolingReturns.csv
new file mode 100644
index 00000000..43aea2eb
--- /dev/null
+++ b/causalpy/data/schoolingReturns.csv
@@ -0,0 +1,3011 @@
+"","wage","education","experience","ethnicity","smsa","south","age","nearcollege","nearcollege2","nearcollege4","enrolled","married","education66","smsa66","south66","feducation","meducation","fameducation","kww","iq","parents14","library14"
+"1",548,7,16,"afam","yes","no",29,"no","no","none","no","yes",5,"yes","no",9.9399995803833,10.25,"9",15,NA,"both","no"
+"2",481,12,9,"other","yes","no",27,"no","no","none","no","yes",11,"yes","no",8,8,"8",35,93,"both","yes"
+"3",721,12,16,"other","yes","no",34,"no","no","none","no","yes",12,"yes","no",14,12,"2",42,103,"both","yes"
+"4",250,11,10,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",11,12,"6",25,88,"both","yes"
+"5",729,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",8,7,"8",34,108,"both","no"
+"6",500,12,8,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",9,12,"6",38,85,"both","yes"
+"7",565,18,9,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","no",14,14,"1",41,119,"both","yes"
+"8",608,14,9,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",14,14,"1",46,108,"both","yes"
+"9",425,12,10,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",12,12,"3",32,96,"both","no"
+"10",515,12,11,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",34,97,"both","yes"
+"11",225,9,13,"other","yes","no",28,"yes","yes","private","no","yes",9,"yes","no",11,12,"6",29,84,"both","no"
+"12",400,12,8,"other","yes","no",26,"yes","yes","private","no","yes",10,"yes","no",11,6,"8",34,89,"both","yes"
+"13",417,11,7,"other","yes","no",24,"yes","yes","private","no","yes",9,"yes","no",11,6,"8",22,93,"both","yes"
+"14",217,11,13,"other","yes","no",30,"yes","yes","private","no","yes",9,"yes","no",11,6,"8",27,74,"both","no"
+"15",894,16,9,"afam","yes","no",31,"yes","yes","private","no","yes",16,"yes","no",9.9399995803833,8,"9",43,116,"singlemom","yes"
+"16",300,14,4,"other","yes","no",24,"yes","yes","private","no","no",8,"yes","no",15,12,"2",36,NA,"both","yes"
+"17",346,12,16,"other","yes","no",34,"yes","yes","private","no","yes",12,"yes","no",12,8,"5",40,93,"both","yes"
+"18",658,14,9,"other","yes","no",29,"yes","yes","private","no","yes",14,"yes","no",9.9399995803833,12,"4",35,100,"singlemom","yes"
+"19",575,10,10,"other","yes","no",26,"yes","yes","private","no","no",9,"yes","no",8,8,"8",24,91,"both","no"
+"20",649,12,14,"other","yes","no",32,"yes","yes","private","no","yes",12,"yes","no",8,8,"8",35,88,"both","no"
+"21",944,18,8,"other","yes","yes",32,"yes","yes","public","no","yes",17,"yes","no",12,13,"2",43,NA,"both","yes"
+"22",614,18,10,"other","yes","no",34,"yes","yes","public","no","yes",15,"yes","no",9.9399995803833,8,"9",50,114,"both","yes"
+"23",726,15,11,"other","no","no",32,"yes","yes","public","no","yes",14,"yes","no",5,14,"6",37,111,"both","yes"
+"24",604,12,10,"other","yes","no",28,"yes","no","public","no","yes",11,"yes","no",14,12,"2",44,NA,"both","yes"
+"25",693,12,14,"other","yes","no",32,"yes","no","public","no","yes",12,"yes","no",11,12,"6",44,95,"both","yes"
+"26",1400,18,10,"other","no","no",34,"yes","no","public","no","yes",15,"yes","no",14,13,"1",44,132,"both","yes"
+"27",300,12,8,"other","yes","no",26,"yes","no","public","no","no",8,"yes","no",7,12,"6",27,NA,"both","yes"
+"28",1800,18,8,"other","yes","no",32,"yes","no","public","no","no",13,"yes","no",16,16,"1",38,109,"both","yes"
+"29",413,12,7,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",11,12,"6",43,108,"both","yes"
+"30",632,14,9,"other","no","no",29,"yes","no","public","no","yes",12,"no","no",9.9399995803833,16,"4",45,102,"singlemom","yes"
+"31",208,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",30,106,"both","yes"
+"32",457,12,7,"afam","yes","no",25,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,11,"9",40,104,"singlemom","yes"
+"33",824,16,2,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",10,10,"7",24,119,"both","yes"
+"34",577,18,10,"other","yes","no",34,"yes","yes","public","no","yes",18,"yes","no",9.9399995803833,12,"4",47,122,"singlemom","yes"
+"35",255,11,11,"other","yes","no",28,"yes","yes","public","no","yes",11,"yes","no",6,10,"8",32,90,"step","yes"
+"36",962,16,8,"other","yes","no",30,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",47,118,"both","yes"
+"37",944,10,15,"other","yes","no",31,"yes","yes","public","no","yes",10,"yes","no",8,6,"8",37,105,"both","no"
+"38",1146,18,10,"other","yes","no",34,"yes","yes","public","yes","yes",16,"yes","no",8,11,"8",43,115,"both","yes"
+"39",324,6,15,"other","yes","no",27,"yes","yes","public","no","yes",6,"yes","no",2,6,"8",16,NA,"both","yes"
+"40",235,11,7,"afam","yes","no",24,"yes","yes","public","no","no",9,"yes","no",6,12,"6",27,65,"both","yes"
+"41",1000,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",11,10,"7",45,120,"both","no"
+"42",481,9,11,"other","yes","no",26,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,12,"4",31,86,"singlemom","yes"
+"43",624,15,11,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",10,12,"6",39,109,"both","yes"
+"44",650,11,17,"other","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",8,10,"8",36,72,"both","no"
+"45",344,12,6,"afam","yes","no",24,"yes","yes","public","no","no",8,"yes","no",9.9399995803833,10,"9",31,NA,"singlemom","no"
+"46",380,16,2,"other","yes","yes",24,"yes","yes","public","no","no",9,"yes","no",12,10,"5",NA,NA,"both","no"
+"47",353,12,6,"other","yes","no",24,"yes","yes","public","no","yes",10,"yes","no",12,11,"5",25,101,"both","yes"
+"48",659,13,6,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,12,"4",29,105,"singlemom","yes"
+"49",621,17,5,"other","yes","no",28,"yes","yes","public","yes","yes",13,"yes","no",10,10,"7",48,136,"both","yes"
+"50",440,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",10,11,"7",40,101,"both","yes"
+"51",738,12,8,"afam","yes","no",26,"yes","yes","public","no","no",11,"yes","no",12,10,"5",34,96,"both","yes"
+"52",280,11,14,"afam","no","yes",31,"yes","yes","public","no","yes",10,"yes","no",5,5,"8",36,NA,"both","no"
+"53",434,10,8,"other","yes","no",24,"yes","yes","public","no","yes",7,"yes","no",5,10.25,"9",34,NA,"other","yes"
+"54",705,12,9,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,8,"9",34,101,"singlemom","yes"
+"55",425,12,9,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",10,12,"6",32,91,"both","yes"
+"56",571,12,6,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",9.9399995803833,4,"9",35,NA,"singlemom","yes"
+"57",538,16,8,"other","yes","no",30,"yes","yes","public","no","no",14,"yes","no",12,12,"3",52,115,"both","yes"
+"58",740,16,10,"other","yes","no",32,"yes","yes","public","no","yes",14,"yes","no",12,12,"3",49,113,"both","yes"
+"59",673,13,13,"other","yes","no",32,"yes","yes","public","yes","yes",12,"yes","no",10,12,"6",43,123,"both","yes"
+"60",769,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",10,10,"7",36,95,"both","yes"
+"61",592,12,6,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",10,10,"7",26,102,"other","yes"
+"62",213,9,9,"afam","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,11,"5",15,NA,"both","yes"
+"63",1563,16,12,"other","yes","no",34,"yes","yes","public","no","yes",16,"yes","no",12,12,"3",50,145,"both","yes"
+"64",774,16,6,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",11,11,"7",35,114,"both","yes"
+"65",600,12,8,"other","yes","yes",26,"yes","yes","public","no","yes",10,"yes","no",8,9,"8",35,113,"both","no"
+"66",693,18,0,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",16,16,"1",24,NA,"both","yes"
+"67",570,13,12,"other","yes","no",31,"yes","yes","public","no","no",12,"yes","no",8,12,"6",40,93,"both","yes"
+"68",433,14,8,"other","yes","no",28,"yes","yes","public","no","no",11,"yes","no",12,12,"3",38,NA,"both","yes"
+"69",538,15,7,"other","yes","no",28,"yes","yes","public","no","no",13,"yes","no",12,12,"3",37,119,"both","no"
+"70",627,12,7,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,9,"5",35,108,"other","yes"
+"71",481,8,17,"other","yes","no",31,"yes","yes","public","no","yes",8,"yes","no",12,11,"5",35,NA,"both","yes"
+"72",545,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",6,11,"8",26,72,"both","yes"
+"73",576,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",12,9,"5",34,86,"both","yes"
+"74",700,16,3,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",14,12,"2",42,123,"both","yes"
+"75",788,16,6,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",38,103,"both","yes"
+"76",1012,17,4,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",42,101,"both","yes"
+"77",758,12,6,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",12,10,"5",30,NA,"both","yes"
+"78",601,14,9,"other","yes","no",29,"yes","yes","public","yes","no",12,"yes","no",12,16,"2",41,105,"both","yes"
+"79",283,12,6,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",9.9399995803833,12,"4",34,NA,"singlemom","yes"
+"80",250,12,6,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,12,"3",29,NA,"step","yes"
+"81",500,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",10,12,"6",33,95,"both","yes"
+"82",550,11,14,"other","yes","no",31,"yes","yes","public","no","yes",10,"yes","no",8,6,"8",41,98,"both","yes"
+"83",1143,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",8,6,"8",27,NA,"both","yes"
+"84",810,18,7,"other","yes","yes",31,"yes","yes","public","no","no",16,"yes","no",8,8,"8",39,115,"both","no"
+"85",313,12,10,"afam","yes","no",28,"yes","yes","public","no","no",11,"yes","no",9.9399995803833,9,"9",20,60,"singlemom","yes"
+"86",731,18,1,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",9.9399995803833,4,"9",36,135,"singlemom","yes"
+"87",625,16,3,"other","yes","no",25,"yes","yes","public","yes","yes",9,"yes","no",9,10,"7",35,132,"both","yes"
+"88",588,14,4,"other","yes","no",24,"yes","yes","public","yes","yes",9,"yes","no",16,12,"2",33,106,"both","yes"
+"89",375,14,6,"other","yes","no",26,"yes","yes","public","yes","yes",11,"yes","no",12,12,"3",28,113,"both","yes"
+"90",817,16,7,"other","yes","yes",29,"yes","yes","public","no","no",13,"no","no",14,11,"5",43,102,"both","yes"
+"91",865,14,10,"other","yes","no",30,"yes","yes","public","no","yes",14,"yes","no",15,12,"2",32,91,"both","yes"
+"92",350,15,7,"other","yes","yes",28,"yes","yes","public","no","yes",12,"no","no",12,12,"3",30,104,"both","yes"
+"93",202,13,5,"other","yes","yes",24,"yes","yes","public","no","yes",8,"yes","no",12,12,"3",22,NA,"both","yes"
+"94",505,13,13,"other","yes","yes",32,"yes","yes","public","no","yes",13,"yes","no",16,16,"1",43,97,"step","yes"
+"95",816,17,7,"other","yes","no",30,"yes","yes","public","no","yes",15,"yes","no",12,13,"2",41,125,"both","yes"
+"96",625,18,2,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",14,12,"2",41,123,"both","yes"
+"97",769,18,8,"other","yes","no",32,"yes","yes","public","no","no",17,"no","no",16,16,"1",35,128,"both","yes"
+"98",500,17,4,"other","yes","no",27,"yes","yes","public","yes","no",11,"yes","no",16,17,"1",38,133,"both","yes"
+"99",619,17,4,"other","yes","no",27,"yes","yes","public","yes","yes",12,"no","no",12,8,"5",32,114,"both","yes"
+"100",650,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,8,"9",40,103,"singlemom","yes"
+"101",769,18,4,"other","yes","no",28,"yes","no","public","no","yes",13,"yes","no",10,12,"6",36,130,"both","yes"
+"102",512,12,8,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",10,12,"6",33,97,"both","yes"
+"103",625,18,7,"other","yes","no",31,"yes","no","public","no","yes",15,"yes","no",12,13,"2",46,132,"both","yes"
+"104",1111,14,11,"other","yes","no",31,"yes","no","public","no","yes",14,"yes","no",12,12,"3",41,98,"both","yes"
+"105",721,13,9,"other","yes","no",28,"yes","no","public","no","yes",13,"yes","no",12,12,"3",41,108,"both","yes"
+"106",1154,14,12,"other","yes","no",32,"yes","no","public","no","yes",13,"yes","no",13,12,"2",44,107,"both","yes"
+"107",827,18,10,"other","no","no",34,"yes","no","public","no","no",17,"yes","no",18,18,"1",40,129,"both","yes"
+"108",923,16,12,"other","yes","no",34,"yes","no","public","no","yes",15,"yes","no",14,12,"2",56,NA,"both","yes"
+"109",1076,17,5,"other","yes","no",28,"yes","no","public","no","yes",12,"no","no",14,17,"1",42,132,"both","yes"
+"110",625,12,15,"other","yes","no",33,"yes","no","public","no","yes",11,"yes","no",9.9399995803833,8,"9",37,101,"both","yes"
+"111",460,13,8,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,8,"9",24,92,"singlemom","yes"
+"112",900,14,4,"afam","yes","no",24,"yes","no","public","no","no",9,"yes","no",8,12,"6",39,108,"both","yes"
+"113",682,18,5,"other","yes","no",29,"yes","no","public","no","yes",13,"no","no",8,9,"8",NA,132,"both","yes"
+"114",411,12,6,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",10,12,"6",20,NA,"both","yes"
+"115",625,13,8,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",12,15,"2",35,106,"both","no"
+"116",1005,18,8,"other","yes","no",32,"yes","no","public","no","yes",17,"yes","no",12,12,"3",46,123,"both","yes"
+"117",725,11,7,"other","yes","no",24,"yes","no","public","no","yes",9,"yes","no",9,11,"7",24,109,"both","yes"
+"118",750,15,6,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",8,11,"8",35,103,"both","yes"
+"119",529,14,9,"other","yes","no",29,"yes","no","public","no","yes",13,"no","no",9.9399995803833,8,"9",33,108,"both","no"
+"120",972,17,6,"other","yes","no",29,"yes","no","public","no","yes",13,"yes","no",8,12,"6",47,122,"both","yes"
+"121",472,12,8,"other","no","no",26,"yes","no","public","no","yes",11,"yes","no",12,12,"3",36,109,"step","yes"
+"122",325,12,6,"other","yes","no",24,"yes","no","public","no","no",9,"yes","no",12,12,"3",35,102,"step","yes"
+"123",875,12,16,"other","yes","no",34,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,12,"4",44,109,"both","yes"
+"124",625,13,15,"other","yes","no",34,"yes","no","public","no","yes",11,"yes","no",9,10,"7",40,100,"both","yes"
+"125",337,12,8,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",8,10,"8",29,93,"both","yes"
+"126",481,16,5,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",5,5,"8",37,115,"both","yes"
+"127",650,9,14,"other","yes","no",29,"yes","no","public","no","no",7,"yes","no",5,10.25,"9",NA,NA,"both","no"
+"128",383,16,3,"other","yes","no",25,"yes","no","public","no","no",8,"yes","no",5,4,"8",39,NA,"both","no"
+"129",962,18,6,"other","yes","no",30,"yes","no","public","no","yes",15,"yes","no",15,14,"1",50,125,"both","yes"
+"130",615,16,7,"other","no","no",29,"yes","no","public","no","no",13,"yes","no",13,12,"2",31,106,"both","yes"
+"131",702,14,8,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,12,"3",43,113,"both","yes"
+"132",635,14,11,"other","yes","no",31,"yes","no","public","no","no",12,"yes","no",9.9399995803833,12,"4",41,122,"both","yes"
+"133",200,12,10,"other","yes","no",28,"yes","no","public","no","no",9,"yes","no",10,11,"7",35,NA,"both","no"
+"134",817,12,9,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",10,10,"7",43,116,"both","yes"
+"135",577,14,6,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",9.9399995803833,12,"4",39,116,"singlemom","yes"
+"136",466,17,3,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",12,12,"3",34,105,"both","yes"
+"137",924,16,7,"other","yes","no",29,"yes","no","public","no","yes",14,"yes","no",9.9399995803833,12,"4",39,NA,"singlemom","yes"
+"138",793,16,9,"other","yes","yes",31,"yes","no","public","yes","yes",15,"no","no",12,12,"3",38,112,"both","no"
+"139",635,14,8,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,12,"3",32,113,"both","yes"
+"140",570,12,7,"other","yes","no",25,"yes","no","public","no","no",7,"yes","no",9.9399995803833,10.25,"9",22,NA,"other","yes"
+"141",705,16,7,"other","yes","no",29,"yes","no","public","no","yes",13,"yes","no",12,12,"3",37,94,"both","yes"
+"142",635,14,8,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,9,"5",40,103,"both","yes"
+"143",694,12,12,"other","yes","no",30,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,12,"4",36,102,"step","no"
+"144",615,13,15,"other","yes","no",34,"yes","no","public","no","yes",12,"yes","no",10,12,"6",47,109,"both","yes"
+"145",462,16,4,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",15,10,"5",34,130,"both","yes"
+"146",865,12,16,"other","yes","no",34,"yes","no","public","no","yes",12,"yes","no",12,12,"3",45,105,"both","yes"
+"147",737,18,9,"other","yes","yes",33,"yes","no","public","no","yes",17,"no","no",12,12,"3",46,134,"both","yes"
+"148",1400,12,7,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",8,14,"6",39,NA,"both","yes"
+"149",808,12,13,"other","yes","no",31,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,7,"9",43,105,"singlemom","no"
+"150",654,16,4,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",11,12,"6",36,104,"both","no"
+"151",300,12,7,"other","yes","no",25,"yes","no","public","no","yes",9,"yes","no",9.9399995803833,12,"4",35,112,"singlemom","yes"
+"152",577,16,8,"other","yes","no",30,"yes","no","public","no","no",12,"yes","no",8,10,"8",37,115,"both","yes"
+"153",265,16,2,"other","yes","no",24,"yes","no","public","no","no",8,"yes","no",10,12,"6",44,NA,"both","yes"
+"154",594,18,7,"other","no","no",31,"yes","no","public","no","yes",15,"yes","no",8,8,"8",33,117,"both","yes"
+"155",325,17,3,"other","yes","no",26,"yes","no","public","no","yes",9,"yes","no",12,8,"5",29,114,"both","yes"
+"156",385,16,2,"other","no","no",24,"yes","no","public","yes","no",9,"yes","no",12,8,"5",37,118,"both","yes"
+"157",1000,18,1,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",12,12,"3",32,107,"both","yes"
+"158",465,18,4,"other","yes","no",28,"yes","no","public","no","no",13,"yes","no",8,11,"8",49,120,"both","yes"
+"159",440,16,6,"other","yes","no",28,"yes","no","public","no","no",13,"no","no",16,18,"1",43,131,"both","yes"
+"160",625,16,5,"other","yes","no",27,"yes","no","public","no","no",12,"no","no",16,17,"1",40,124,"both","yes"
+"161",285,17,4,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",11,12,"6",36,121,"both","yes"
+"162",650,14,7,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",10,12,"6",35,110,"both","yes"
+"163",808,13,6,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",10,12,"6",34,103,"both","yes"
+"164",500,12,6,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",10,12,"6",26,NA,"both","yes"
+"165",831,16,4,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",14,12,"2",45,115,"both","yes"
+"166",500,12,13,"other","yes","no",31,"yes","no","public","no","yes",12,"yes","no",8,6,"8",33,96,"both","yes"
+"167",693,17,9,"other","yes","no",32,"yes","no","public","no","yes",17,"yes","no",12,12,"3",48,123,"both","no"
+"168",1100,12,9,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",12,10,"5",37,101,"both","yes"
+"169",763,12,7,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",8,12,"6",34,98,"both","yes"
+"170",795,12,9,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",8,9,"8",28,NA,"both","yes"
+"171",333,16,3,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",7,8,"8",31,108,"both","yes"
+"172",409,18,6,"other","yes","no",30,"yes","yes","public","no","yes",13,"yes","no",16,12,"2",39,138,"both","yes"
+"173",865,16,5,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,12,"4",37,121,"both","yes"
+"174",888,12,13,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",8,12,"6",34,96,"both","yes"
+"175",673,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",47,89,"both","yes"
+"176",700,12,15,"other","no","no",33,"yes","yes","public","no","no",12,"yes","no",7,10.25,"9",43,109,"both","yes"
+"177",250,18,9,"other","yes","yes",33,"yes","yes","public","no","no",17,"yes","no",16,16,"1",44,133,"both","yes"
+"178",625,11,10,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",11,9,"7",32,84,"both","yes"
+"179",417,13,12,"other","yes","no",31,"yes","yes","public","no","no",10,"yes","no",8,12,"6",37,NA,"both","yes"
+"180",576,13,9,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",8,12,"6",51,98,"both","yes"
+"181",613,12,8,"afam","yes","no",26,"yes","yes","public","no","no",9,"yes","no",12,9,"5",27,85,"both","yes"
+"182",700,12,13,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",11,9,"7",NA,105,"both","yes"
+"183",450,12,6,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",11,9,"7",20,93,"both","yes"
+"184",500,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",38,115,"singlemom","yes"
+"185",514,12,7,"other","no","no",25,"yes","yes","public","no","yes",9,"yes","no",12,10.25,"5",36,NA,"both","yes"
+"186",250,16,3,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,12,"3",45,146,"both","yes"
+"187",315,12,6,"other","no","no",24,"yes","yes","public","no","no",8,"yes","no",12,12,"3",32,NA,"both","yes"
+"188",375,12,11,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",9,12,"6",32,82,"both","yes"
+"189",457,15,13,"other","no","no",34,"yes","yes","public","no","yes",15,"yes","no",9.9399995803833,12,"4",45,120,"singlemom","yes"
+"190",275,12,9,"afam","yes","no",27,"yes","yes","public","no","no",8,"yes","no",9.9399995803833,10.25,"9",26,NA,"other","no"
+"191",951,12,10,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",38,122,"singlemom","yes"
+"192",1115,16,10,"other","yes","no",32,"yes","yes","public","no","yes",16,"no","no",8,9,"8",49,NA,"both","yes"
+"193",289,16,3,"other","no","no",25,"yes","yes","public","yes","no",9,"yes","no",12,14,"2",31,128,"both","yes"
+"194",500,16,3,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",9.9399995803833,10.25,"9",34,110,"other","yes"
+"195",726,18,8,"other","yes","no",32,"yes","yes","public","no","yes",16,"yes","no",16,12,"2",46,114,"both","yes"
+"196",1265,18,5,"other","yes","no",29,"yes","yes","public","no","yes",14,"yes","no",18,12,"2",48,117,"both","yes"
+"197",613,17,3,"afam","yes","no",26,"yes","yes","public","no","no",10,"yes","no",18,18,"1",40,109,"both","yes"
+"198",545,12,10,"other","yes","no",28,"yes","no","public","no","no",12,"yes","no",10,11,"7",35,91,"both","no"
+"199",278,13,9,"other","yes","no",28,"yes","no","public","yes","yes",12,"yes","no",12,8,"5",32,107,"both","yes"
+"200",1442,18,10,"other","yes","no",34,"yes","no","public","no","yes",17,"yes","no",16,12,"2",55,114,"both","yes"
+"201",995,16,5,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",16,12,"2",40,126,"both","yes"
+"202",700,12,11,"other","yes","no",29,"yes","no","public","no","yes",10,"yes","no",11,11,"7",45,82,"both","yes"
+"203",577,16,6,"other","yes","no",28,"yes","no","public","no","yes",13,"yes","no",9,12,"6",45,119,"both","yes"
+"204",858,16,9,"other","yes","no",31,"yes","no","public","no","yes",14,"yes","no",6,12,"6",37,104,"both","yes"
+"205",686,12,10,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,10.25,"5",35,97,"other","yes"
+"206",832,15,10,"other","yes","no",31,"yes","no","public","no","yes",12,"yes","no",11,10.25,"9",49,115,"both","yes"
+"207",633,13,14,"other","yes","no",33,"yes","yes","private","yes","yes",10,"yes","no",13,8,"5",45,83,"both","yes"
+"208",689,12,14,"other","yes","no",32,"yes","yes","private","no","yes",12,"yes","no",12,12,"3",45,97,"both","yes"
+"209",769,14,10,"other","yes","no",30,"yes","yes","private","no","yes",13,"yes","no",8,8,"8",43,119,"both","yes"
+"210",385,15,6,"other","yes","no",27,"yes","yes","private","no","no",11,"yes","no",12,14,"2",27,105,"both","yes"
+"211",450,12,6,"other","yes","no",24,"yes","yes","private","yes","no",7,"yes","no",12,14,"2",29,NA,"both","yes"
+"212",615,12,9,"other","yes","no",27,"yes","yes","private","no","yes",12,"yes","no",10,12,"6",41,114,"both","yes"
+"213",682,12,16,"other","yes","no",34,"yes","yes","private","no","yes",10,"yes","no",9.9399995803833,8,"9",47,93,"singlemom","yes"
+"214",670,10,16,"other","yes","no",32,"yes","yes","private","no","no",10,"yes","no",9.9399995803833,10.25,"9",28,73,"singlemom","yes"
+"215",800,11,16,"other","yes","no",33,"yes","yes","private","no","yes",11,"yes","no",8,8,"8",48,96,"both","yes"
+"216",505,14,14,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",8,8,"8",48,NA,"both","yes"
+"217",1026,18,6,"other","yes","no",30,"yes","yes","public","no","no",15,"yes","no",12,16,"2",48,117,"both","yes"
+"218",769,15,4,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",16,12,"2",30,113,"both","yes"
+"219",290,10,16,"other","yes","yes",32,"yes","yes","public","no","yes",10,"yes","no",10,14,"6",38,106,"both","yes"
+"220",529,13,9,"other","yes","no",28,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,8,"9",37,104,"singlemom","yes"
+"221",1154,16,7,"other","yes","no",29,"yes","yes","public","no","yes",13,"no","no",12,12,"3",NA,NA,"both","yes"
+"222",549,10,13,"other","yes","no",29,"yes","yes","public","no","yes",10,"yes","no",12,10.25,"5",39,80,"other","yes"
+"223",475,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",8,12,"6",30,104,"both","yes"
+"224",450,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",12,12,"3",36,102,"both","yes"
+"225",875,17,4,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",10,10.25,"9",43,114,"other","yes"
+"226",200,15,4,"other","yes","no",25,"yes","yes","public","yes","no",10,"yes","no",10,10.25,"9",33,93,"other","yes"
+"227",300,13,7,"other","no","no",26,"yes","yes","public","no","no",9,"yes","no",16,16,"1",36,122,"both","yes"
+"228",462,16,3,"other","no","no",25,"yes","yes","public","no","no",9,"yes","no",16,10.25,"5",28,117,"both","yes"
+"229",385,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",13,12,"2",38,96,"both","yes"
+"230",1282,15,11,"other","yes","no",32,"yes","yes","public","no","yes",15,"yes","no",16,16,"1",51,95,"both","yes"
+"231",588,16,3,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",12,12,"3",29,117,"both","yes"
+"232",600,12,9,"other","yes","no",27,"yes","yes","public","no","no",10,"yes","no",17,16,"1",24,105,"both","yes"
+"233",500,16,8,"other","yes","no",30,"yes","yes","public","yes","yes",12,"no","no",6,10.25,"9",43,NA,"other","no"
+"234",440,12,15,"afam","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",8,8,"8",18,94,"both","no"
+"235",467,18,2,"other","yes","yes",26,"yes","no","private","yes","no",11,"yes","no",13,16,"1",43,139,"both","yes"
+"236",929,17,6,"other","yes","no",29,"yes","no","private","no","yes",13,"yes","no",14,12,"2",41,91,"both","yes"
+"237",556,16,5,"other","yes","no",27,"yes","no","private","no","yes",12,"yes","no",14,12,"2",37,96,"both","yes"
+"238",438,13,5,"other","yes","no",24,"yes","no","private","no","no",9,"yes","no",14,12,"2",32,114,"both","no"
+"239",600,12,11,"afam","yes","no",29,"yes","no","private","no","yes",12,"yes","no",9,10,"7",31,54,"step","no"
+"240",575,12,8,"afam","yes","no",26,"yes","no","private","no","yes",11,"yes","no",9,10,"7",37,69,"both","no"
+"241",389,12,8,"afam","yes","no",26,"yes","no","private","no","no",11,"yes","no",9,10,"7",17,67,"both","no"
+"242",795,12,16,"other","no","no",34,"yes","no","private","no","yes",12,"no","no",12,10.25,"5",37,110,"step","no"
+"243",471,18,3,"other","yes","no",27,"yes","no","private","no","yes",12,"yes","no",18,16,"1",41,125,"both","yes"
+"244",202,17,3,"other","yes","no",26,"yes","no","private","yes","no",10,"yes","no",18,16,"1",38,124,"both","yes"
+"245",200,17,1,"other","yes","no",24,"yes","no","private","yes","no",8,"yes","no",18,16,"1",35,NA,"both","yes"
+"246",350,17,1,"other","yes","no",24,"yes","no","private","no","no",9,"yes","no",15,17,"1",35,113,"step","yes"
+"247",375,14,4,"other","no","no",24,"yes","no","private","no","no",9,"yes","no",10,12,"6",40,100,"both","yes"
+"248",481,16,3,"other","yes","no",25,"yes","no","private","no","yes",10,"yes","no",12,9,"5",37,97,"both","yes"
+"249",962,18,7,"other","yes","no",31,"yes","no","private","no","no",15,"yes","no",8,8,"8",44,125,"both","yes"
+"250",423,15,6,"other","yes","no",27,"yes","no","private","no","no",12,"yes","no",12,12,"3",42,106,"step","yes"
+"251",500,15,6,"other","yes","no",27,"yes","no","private","no","no",11,"yes","no",11,12,"6",28,101,"both","yes"
+"252",450,9,15,"other","yes","no",30,"yes","no","private","no","yes",8,"yes","no",9.9399995803833,11,"9",37,NA,"both","yes"
+"253",476,8,14,"other","yes","no",28,"yes","no","private","no","yes",8,"yes","no",8,9,"8",27,NA,"both","no"
+"254",136,12,6,"other","yes","no",24,"yes","no","private","no","no",7,"yes","no",8,9,"8",21,NA,"both","no"
+"255",575,12,14,"other","yes","no",32,"yes","no","private","no","yes",12,"no","no",10,9,"7",39,91,"both","yes"
+"256",577,12,15,"other","yes","no",33,"yes","no","private","no","yes",11,"no","no",10,8,"8",28,86,"other","yes"
+"257",310,12,13,"other","yes","no",31,"yes","no","private","no","yes",12,"yes","no",8,9,"8",32,110,"both","yes"
+"258",700,9,15,"other","yes","no",30,"yes","no","private","no","yes",8,"yes","no",12,12,"3",38,NA,"both","no"
+"259",1322,14,12,"other","yes","no",32,"yes","no","private","no","yes",14,"no","no",9.9399995803833,12,"4",47,92,"both","yes"
+"260",551,10,18,"other","yes","no",34,"yes","no","private","no","yes",10,"no","no",12,9,"5",41,85,"both","no"
+"261",881,17,7,"other","yes","no",30,"yes","no","private","no","yes",14,"yes","no",8,8,"8",36,120,"both","yes"
+"262",760,12,7,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",7,12,"6",27,NA,"both","yes"
+"263",708,12,14,"other","yes","no",32,"yes","no","private","no","yes",12,"yes","no",8,11,"8",52,NA,"both","yes"
+"264",425,12,8,"other","yes","no",26,"yes","no","private","no","yes",10,"yes","no",8,8,"8",24,NA,"both","yes"
+"265",427,12,8,"other","yes","no",26,"yes","no","private","no","no",11,"yes","no",9.9399995803833,9,"9",35,107,"singlemom","yes"
+"266",576,16,2,"other","yes","no",24,"yes","no","private","no","no",9,"yes","no",9.9399995803833,9,"9",43,116,"singlemom","yes"
+"267",400,9,17,"other","yes","no",32,"yes","no","private","no","no",9,"yes","no",9.9399995803833,4,"9",34,NA,"both","yes"
+"268",500,12,13,"other","no","no",31,"yes","no","private","no","yes",8,"yes","no",8,5,"8",30,NA,"both","no"
+"269",531,12,10,"other","no","no",28,"yes","no","private","no","yes",8,"yes","no",8,5,"8",29,NA,"both","no"
+"270",673,16,6,"other","yes","no",28,"yes","no","private","yes","yes",13,"no","no",12,12,"3",43,121,"both","yes"
+"271",577,16,5,"other","yes","yes",27,"yes","no","private","no","no",12,"no","no",12,12,"3",41,112,"both","yes"
+"272",325,16,2,"other","yes","no",24,"yes","no","private","no","no",8,"yes","no",16,12,"2",39,NA,"both","yes"
+"273",500,11,12,"other","no","no",29,"yes","no","private","no","yes",11,"no","no",7,11,"8",40,NA,"both","yes"
+"274",770,12,7,"other","no","no",25,"yes","no","private","no","yes",8,"no","no",7,11,"8",43,100,"both","yes"
+"275",500,12,8,"other","yes","no",26,"yes","no","private","no","yes",10,"no","no",7,12,"6",37,112,"both","no"
+"276",391,16,6,"other","yes","no",28,"yes","no","private","no","yes",12,"yes","no",14,12,"2",41,108,"both","yes"
+"277",810,12,16,"other","yes","no",34,"yes","no","private","no","yes",12,"yes","no",12,10,"5",42,90,"both","yes"
+"278",543,9,19,"afam","no","no",34,"yes","yes","public","no","yes",9,"no","no",12,10.25,"5",39,86,"both","yes"
+"279",593,9,19,"afam","no","no",34,"yes","yes","public","no","no",8,"no","no",12,12,"3",37,NA,"both","yes"
+"280",864,17,2,"other","yes","no",25,"yes","yes","public","no","no",10,"no","no",12,12,"3",40,127,"both","yes"
+"281",700,10,12,"afam","no","no",28,"yes","yes","public","no","yes",10,"no","no",9.9399995803833,8,"9",32,86,"both","yes"
+"282",510,12,7,"other","no","no",25,"yes","yes","public","no","yes",10,"no","no",12,12,"3",27,113,"both","yes"
+"283",615,13,15,"other","yes","no",34,"yes","yes","public","no","no",12,"yes","no",9,12,"6",51,111,"both","yes"
+"284",761,14,9,"other","yes","no",29,"yes","yes","public","no","yes",12,"no","no",9,8,"8",41,113,"both","no"
+"285",493,10,15,"other","yes","no",31,"yes","yes","private","no","yes",10,"yes","no",9.9399995803833,10.25,"9",32,81,"both","yes"
+"286",445,16,2,"other","yes","no",24,"yes","yes","private","no","yes",9,"yes","no",12,12,"3",34,111,"both","yes"
+"287",425,12,7,"other","yes","no",25,"yes","yes","private","no","yes",8,"yes","no",8,9,"8",20,NA,"both","yes"
+"288",750,16,2,"other","yes","no",24,"yes","yes","private","yes","no",9,"yes","no",12,12,"3",24,112,"both","yes"
+"289",700,16,2,"other","yes","no",24,"yes","yes","private","no","yes",9,"yes","no",12,12,"3",30,114,"both","yes"
+"290",438,12,6,"other","yes","no",24,"yes","yes","private","no","yes",8,"yes","no",9,9,"7",33,NA,"both","yes"
+"291",608,12,11,"other","yes","no",29,"yes","yes","private","no","yes",12,"yes","no",12,12,"3",30,111,"both","yes"
+"292",450,13,5,"other","yes","no",24,"yes","yes","private","no","yes",9,"yes","no",7,8,"8",32,106,"both","no"
+"293",313,3,17,"other","yes","no",26,"yes","yes","public","no","yes",3,"yes","no",4,0,"8",6,NA,"both","no"
+"294",250,7,20,"afam","yes","no",33,"yes","yes","public","no","yes",6,"yes","no",6,5,"8",NA,NA,"both","no"
+"295",500,14,13,"other","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",26,79,"both","no"
+"296",365,12,8,"other","yes","no",26,"no","no","none","no","no",10,"no","no",11,12,"6",28,98,"both","yes"
+"297",813,12,8,"other","yes","no",26,"no","no","none","no","yes",10,"no","no",10,12,"6",28,105,"both","yes"
+"298",326,12,7,"other","no","no",25,"no","no","none","no","no",8,"no","no",10,12,"6",33,NA,"both","yes"
+"299",524,12,11,"other","no","no",29,"no","no","none","no","yes",10,"no","no",9.9399995803833,10,"9",29,105,"singlemom","no"
+"300",815,13,9,"other","yes","no",28,"no","no","none","no","yes",13,"no","no",9,12,"6",44,118,"both","yes"
+"301",750,12,10,"other","yes","no",28,"no","no","none","no","yes",12,"yes","no",11,12,"6",35,100,"step","yes"
+"302",525,17,1,"other","yes","no",24,"no","no","none","no","yes",8,"yes","no",9,10,"7",36,NA,"both","yes"
+"303",1125,12,14,"other","yes","no",32,"no","no","none","no","yes",12,"yes","no",8,12,"6",38,90,"both","yes"
+"304",625,12,10,"other","yes","no",28,"no","no","none","no","no",11,"yes","no",8,9,"8",34,95,"both","yes"
+"305",715,14,5,"other","yes","no",25,"no","no","none","no","yes",10,"yes","no",12,12,"3",24,112,"both","yes"
+"306",591,12,13,"other","no","no",31,"no","no","none","no","yes",12,"no","no",8,12,"6",32,96,"both","yes"
+"307",404,17,4,"other","yes","no",27,"no","no","none","yes","no",12,"yes","no",12,12,"3",37,127,"both","yes"
+"308",675,12,10,"other","yes","no",28,"yes","no","private","no","yes",11,"yes","no",10,12,"6",39,120,"both","yes"
+"309",444,12,7,"other","yes","no",25,"yes","no","private","no","no",10,"yes","no",10,12,"6",41,123,"both","yes"
+"310",488,12,6,"other","yes","no",24,"yes","no","private","no","yes",8,"yes","no",10,12,"6",34,NA,"both","yes"
+"311",695,9,19,"other","yes","no",34,"yes","no","private","no","yes",8,"yes","no",10,6,"8",42,NA,"both","yes"
+"312",700,12,7,"other","yes","yes",25,"yes","no","private","yes","yes",9,"yes","no",10,12,"6",25,98,"both","no"
+"313",325,12,6,"other","yes","yes",24,"yes","no","private","no","yes",6,"yes","no",7,10,"8",24,NA,"both","no"
+"314",556,9,10,"other","yes","no",25,"yes","no","private","no","yes",8,"yes","no",12,11,"5",30,NA,"both","yes"
+"315",325,12,8,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","no",8,12,"6",25,114,"both","yes"
+"316",668,13,7,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",15,16,"1",32,103,"both","yes"
+"317",2404,18,7,"other","yes","no",31,"yes","yes","public","no","yes",15,"no","no",18,16,"1",40,121,"both","yes"
+"318",758,16,3,"other","yes","no",25,"yes","yes","public","yes","no",9,"yes","no",12,14,"2",38,117,"both","no"
+"319",986,16,12,"other","yes","no",34,"yes","yes","public","no","yes",16,"yes","no",12,12,"3",44,90,"both","yes"
+"320",577,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",32,125,"both","yes"
+"321",286,17,6,"other","no","no",29,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",39,104,"both","yes"
+"322",231,14,8,"other","yes","yes",28,"yes","yes","public","no","no",11,"yes","no",18,16,"1",40,106,"both","yes"
+"323",513,12,7,"other","yes","no",25,"yes","yes","public","no","yes",6,"yes","no",7,10,"8",33,NA,"both","yes"
+"324",615,15,7,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",9,10,"7",36,122,"both","yes"
+"325",700,15,4,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",9,10,"7",43,120,"both","yes"
+"326",714,18,9,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","no",12,7,"5",41,112,"both","yes"
+"327",701,9,15,"other","yes","no",30,"yes","yes","public","no","yes",8,"yes","no",8,8,"8",31,NA,"both","no"
+"328",462,12,6,"afam","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",7,9,"8",29,NA,"both","yes"
+"329",868,18,4,"other","yes","no",28,"yes","yes","private","no","no",13,"yes","no",8,9,"8",34,109,"both","yes"
+"330",917,16,7,"other","no","no",29,"yes","yes","private","no","no",14,"yes","no",9,10,"7",46,128,"both","yes"
+"331",1065,12,9,"other","yes","no",27,"yes","yes","private","no","yes",12,"yes","no",12,12,"3",35,97,"both","yes"
+"332",400,12,11,"other","yes","yes",29,"yes","no","public","no","no",12,"yes","no",12,12,"3",35,96,"both","yes"
+"333",640,12,9,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",12,12,"3",41,103,"both","yes"
+"334",285,13,5,"other","yes","no",24,"yes","no","public","no","no",7,"yes","no",8,8,"8",16,NA,"both","no"
+"335",641,17,4,"other","yes","yes",27,"yes","no","public","yes","no",12,"yes","no",12,12,"3",38,127,"both","yes"
+"336",389,13,13,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,4,"9",21,NA,"both","no"
+"337",1010,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",12,10,"5",29,NA,"both","yes"
+"338",817,12,6,"other","no","no",24,"yes","yes","public","no","yes",10,"yes","no",8,12,"6",44,97,"both","yes"
+"339",975,17,4,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",10,9,"7",43,120,"both","yes"
+"340",750,12,11,"afam","yes","no",29,"yes","yes","public","no","no",12,"yes","no",6,7,"8",21,78,"both","yes"
+"341",463,15,3,"other","no","no",24,"yes","yes","public","no","yes",10,"yes","no",7,8,"8",46,118,"both","yes"
+"342",1387,12,10,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",12,10.25,"5",NA,NA,"both","yes"
+"343",577,12,7,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,10.25,"5",41,NA,"both","yes"
+"344",401,12,9,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",11,9,"7",27,89,"both","yes"
+"345",320,10,10,"other","yes","no",26,"yes","yes","public","no","yes",9,"yes","no",11,9,"7",24,NA,"both","yes"
+"346",514,12,9,"other","yes","no",27,"yes","yes","public","no","yes",10,"yes","no",14,12,"2",36,NA,"both","yes"
+"347",208,11,8,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",14,12,"2",NA,NA,"both","yes"
+"348",1192,17,4,"other","yes","no",27,"yes","yes","public","yes","yes",13,"yes","no",8,6,"8",50,122,"both","yes"
+"349",625,14,6,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",7,6,"8",33,98,"both","no"
+"350",481,17,11,"other","yes","no",34,"yes","yes","public","no","yes",14,"yes","no",7,7,"8",44,NA,"both","no"
+"351",714,13,8,"other","yes","no",27,"yes","yes","public","yes","yes",12,"yes","no",12,12,"3",18,101,"both","yes"
+"352",625,11,10,"other","yes","no",27,"yes","yes","public","no","yes",10,"yes","no",1,4,"8",30,NA,"both","yes"
+"353",553,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,7,"9",39,112,"both","yes"
+"354",579,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",5,2,"8",32,88,"both","yes"
+"355",841,18,4,"other","yes","no",28,"yes","yes","public","no","no",13,"yes","no",12,16,"2",52,NA,"both","no"
+"356",1923,18,9,"other","yes","no",33,"yes","yes","public","no","yes",17,"yes","no",12,12,"3",48,136,"both","yes"
+"357",806,16,4,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",13,10,"5",50,124,"both","yes"
+"358",344,12,11,"afam","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,6,"9",31,96,"singlemom","no"
+"359",962,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",11,14,"6",39,97,"both","yes"
+"360",600,12,14,"other","no","no",32,"yes","yes","public","no","yes",11,"yes","no",10,10,"7",40,NA,"both","yes"
+"361",837,18,10,"other","yes","no",34,"yes","yes","public","no","yes",18,"yes","no",12,10,"5",49,107,"both","yes"
+"362",625,16,2,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",9.9399995803833,10.25,"9",41,NA,"other","yes"
+"363",563,16,6,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,10.25,"9",41,111,"both","yes"
+"364",1410,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",10,10,"7",43,102,"both","yes"
+"365",480,12,7,"other","yes","no",25,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,12,"4",30,115,"both","yes"
+"366",600,12,6,"other","yes","no",24,"yes","yes","public","yes","no",9,"yes","no",7,8,"8",32,94,"both","yes"
+"367",300,9,13,"other","yes","no",28,"yes","yes","public","no","yes",8,"yes","no",9.9399995803833,0,"9",30,NA,"singlemom","no"
+"368",505,9,10,"other","yes","no",25,"yes","yes","public","no","yes",8,"yes","no",9.9399995803833,0,"9",20,NA,"singlemom","no"
+"369",417,14,5,"afam","yes","no",25,"yes","yes","public","no","no",11,"yes","no",7,12,"6",31,92,"both","yes"
+"370",300,12,6,"afam","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",7,12,"6",27,NA,"both","yes"
+"371",865,18,3,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",14,14,"1",37,NA,"both","yes"
+"372",300,16,3,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",16,13,"1",33,116,"both","yes"
+"373",721,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",9,6,"8",41,101,"both","yes"
+"374",856,12,16,"other","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",8,10.25,"9",32,99,"both","yes"
+"375",738,10,14,"other","yes","no",30,"yes","yes","public","no","yes",10,"yes","no",10,7,"8",42,106,"both","yes"
+"376",1058,17,8,"afam","yes","no",31,"yes","yes","public","no","yes",14,"yes","no",15,12,"2",40,NA,"other","yes"
+"377",529,12,14,"afam","yes","no",32,"yes","yes","public","no","no",12,"yes","no",6,8,"8",25,NA,"both","no"
+"378",572,11,17,"other","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",6,10.25,"9",30,122,"step","yes"
+"379",805,12,14,"other","no","no",32,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,9,"9",32,88,"both","yes"
+"380",400,10,14,"other","yes","no",30,"yes","yes","public","no","no",10,"yes","no",6,8,"8",28,59,"both","yes"
+"381",962,18,5,"other","yes","no",29,"yes","yes","public","no","yes",15,"yes","no",12,16,"2",48,126,"both","yes"
+"382",817,18,3,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",13,16,"1",40,126,"both","yes"
+"383",740,13,9,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",14,12,"2",47,NA,"both","yes"
+"384",721,18,6,"other","yes","no",30,"yes","yes","public","no","yes",15,"yes","no",12,12,"3",54,105,"both","yes"
+"385",913,18,0,"other","yes","no",24,"yes","yes","public","no","no",10,"yes","no",16,16,"1",29,123,"both","yes"
+"386",379,17,4,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",8,12,"6",30,119,"both","yes"
+"387",350,14,6,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",8,12,"6",35,108,"other","yes"
+"388",694,11,16,"other","yes","no",33,"yes","yes","public","no","no",11,"yes","no",8,8,"8",36,93,"both","yes"
+"389",1014,12,14,"other","yes","yes",32,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,12,"4",38,82,"both","yes"
+"390",1136,18,10,"other","yes","no",34,"yes","yes","public","no","yes",17,"yes","no",16,16,"1",49,123,"both","yes"
+"391",1709,18,6,"other","yes","no",30,"yes","yes","public","no","yes",16,"yes","no",16,16,"1",45,134,"both","yes"
+"392",529,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",12,8,"5",29,84,"both","yes"
+"393",673,17,9,"afam","yes","no",32,"yes","yes","public","no","no",16,"yes","no",12,16,"2",38,101,"both","yes"
+"394",1010,17,5,"other","yes","no",28,"yes","yes","public","yes","no",13,"yes","no",16,13,"1",45,125,"both","yes"
+"395",846,18,4,"other","yes","no",28,"yes","yes","public","no","yes",14,"no","no",17,12,"2",43,117,"both","yes"
+"396",710,11,10,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",12,12,"3",36,98,"both","yes"
+"397",820,16,4,"other","no","no",26,"yes","yes","public","no","yes",10,"yes","no",12,13,"2",41,118,"both","yes"
+"398",447,12,6,"other","yes","no",24,"yes","yes","public","no","no",7,"yes","no",12,13,"2",NA,NA,"both","yes"
+"399",500,15,4,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",9,10,"7",26,129,"both","yes"
+"400",1049,16,9,"other","yes","no",31,"yes","yes","public","no","yes",16,"yes","no",12,12,"3",44,96,"both","yes"
+"401",1202,18,5,"other","yes","no",29,"yes","yes","public","no","yes",14,"yes","no",16,12,"2",40,124,"both","yes"
+"402",690,12,15,"other","yes","no",33,"yes","yes","public","no","yes",11,"yes","no",8,10.25,"9",27,NA,"both","yes"
+"403",648,16,6,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",8,10,"8",42,122,"both","yes"
+"404",875,13,11,"other","yes","no",30,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",37,85,"both","yes"
+"405",548,17,2,"other","yes","no",25,"yes","yes","public","yes","yes",9,"yes","no",12,12,"3",39,112,"both","yes"
+"406",600,7,15,"other","yes","no",28,"yes","yes","public","no","yes",7,"yes","no",8,9,"8",30,NA,"both","no"
+"407",2244,15,13,"other","yes","no",34,"yes","yes","public","no","yes",15,"yes","no",12,8,"5",45,111,"both","yes"
+"408",1442,12,13,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",12,8,"5",42,90,"both","yes"
+"409",320,12,16,"afam","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,10.25,"9",38,NA,"other","yes"
+"410",1262,18,9,"other","yes","no",33,"yes","yes","public","no","yes",17,"yes","no",10,16,"6",43,101,"both","yes"
+"411",600,12,6,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",11,9,"7",18,100,"step","yes"
+"412",300,11,9,"afam","yes","no",26,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,10,"9",25,95,"both","no"
+"413",538,16,2,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",12,12,"3",44,120,"both","yes"
+"414",744,12,15,"other","no","no",33,"yes","yes","public","no","yes",12,"yes","no",11,10.25,"9",44,NA,"both","yes"
+"415",846,12,15,"other","yes","no",33,"yes","yes","public","yes","yes",12,"yes","no",9.9399995803833,12,"4",36,101,"singlemom","yes"
+"416",813,16,7,"other","yes","no",29,"yes","yes","public","no","yes",14,"yes","no",12,12,"3",44,NA,"both","yes"
+"417",1000,12,10,"other","yes","no",28,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,8,"9",34,90,"both","no"
+"418",561,16,4,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",12,15,"2",34,122,"both","yes"
+"419",285,18,2,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",18,18,"1",41,140,"both","yes"
+"420",437,16,5,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",16,12,"2",37,106,"both","yes"
+"421",325,13,6,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",12,12,"3",27,93,"both","no"
+"422",580,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",10,12,"6",30,119,"both","yes"
+"423",588,16,4,"afam","yes","no",26,"yes","yes","public","no","no",10,"yes","no",12,12,"3",33,95,"both","yes"
+"424",801,18,5,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",14,12,"2",44,115,"both","yes"
+"425",312,14,5,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",8,10,"8",32,119,"both","yes"
+"426",250,12,11,"afam","yes","no",29,"yes","yes","public","no","no",11,"yes","no",4,11,"8",19,67,"step","no"
+"427",500,15,6,"afam","yes","no",27,"yes","yes","public","no","no",11,"yes","no",4,11,"8",34,97,"step","no"
+"428",750,12,15,"afam","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",28,111,"singlemom","yes"
+"429",343,13,12,"other","yes","yes",31,"yes","yes","public","yes","yes",12,"yes","no",11,11,"7",41,101,"both","yes"
+"430",250,15,7,"other","yes","no",28,"yes","yes","public","no","no",11,"yes","no",11,11,"7",32,112,"both",NA
+"431",700,16,2,"other","yes","no",24,"yes","yes","public","yes","yes",9,"yes","no",12,10,"5",26,107,"both","yes"
+"432",400,12,7,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",8,8,"8",22,93,"both","no"
+"433",555,17,4,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",14,12,"2",37,122,"both","yes"
+"434",699,15,7,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",38,106,"both","yes"
+"435",1923,14,4,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",12,12,"3",31,NA,"both","yes"
+"436",1216,18,8,"other","yes","no",32,"yes","yes","public","no","no",16,"yes","no",9.9399995803833,10,"9",49,127,"both","yes"
+"437",615,16,7,"other","yes","no",29,"yes","yes","public","no","yes",14,"yes","no",12,12,"3",35,113,"both","yes"
+"438",745,14,5,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,12,"3",36,115,"both","yes"
+"439",458,16,2,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",18,14,"1",37,NA,"both","yes"
+"440",647,18,1,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",16,10,"5",45,118,"both","yes"
+"441",745,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",8,12,"6",37,106,"both","yes"
+"442",815,16,3,"other","yes","yes",25,"yes","yes","public","no","yes",10,"yes","no",17,12,"2",40,118,"both","yes"
+"443",865,16,9,"other","yes","no",31,"yes","yes","public","no","yes",16,"yes","no",13,10,"5",46,126,"both","yes"
+"444",542,12,10,"other","yes","no",28,"yes","yes","public","no","yes",10,"yes","no",7,8,"8",40,95,"both","yes"
+"445",365,13,8,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",18,12,"2",35,107,"both","yes"
+"446",417,10,8,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",18,12,"2",32,100,"both","yes"
+"447",657,16,5,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,12,"4",40,102,"singlemom","yes"
+"448",529,15,5,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",9.9399995803833,12,"4",43,113,"singlemom","yes"
+"449",851,17,6,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",8,12,"6",46,96,"both","yes"
+"450",663,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",12,9,"5",32,106,"both","yes"
+"451",529,16,2,"other","yes","no",24,"yes","yes","public","yes","yes",9,"yes","no",12,12,"3",33,NA,"both","yes"
+"452",889,18,4,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",9,12,"6",47,111,"both","no"
+"453",865,17,5,"other","yes","yes",28,"yes","yes","public","yes","yes",13,"yes","no",9.9399995803833,12,"4",43,113,"both","yes"
+"454",231,18,2,"other","yes","yes",26,"yes","yes","public","no","yes",11,"yes","no",18,12,"2",46,138,"both","yes"
+"455",802,12,14,"other","no","yes",32,"yes","yes","public","no","yes",12,"yes","no",10,9,"7",NA,110,"both","yes"
+"456",533,13,8,"other","yes","no",27,"yes","yes","public","yes","yes",12,"yes","no",12,12,"3",50,105,"both","yes"
+"457",775,15,4,"afam","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",12,14,"2",29,85,"both","yes"
+"458",476,14,4,"afam","yes","no",24,"yes","yes","public","yes","no",9,"yes","no",12,14,"2",26,NA,"both","yes"
+"459",865,16,11,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","no",16,10.25,"5",46,113,"both","yes"
+"460",1014,16,6,"other","no","no",28,"yes","yes","public","no","yes",13,"no","no",10,12,"6",51,117,"both","yes"
+"461",641,18,8,"other","yes","no",32,"yes","yes","public","no","yes",16,"yes","no",16,16,"1",56,126,"both","yes"
+"462",333,16,2,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",10,10,"7",34,125,"both","yes"
+"463",556,11,17,"afam","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",8,9,"8",18,NA,"both",NA
+"464",528,18,2,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","no",8,12,"6",37,125,"both","yes"
+"465",635,12,8,"other","yes","no",26,"yes","yes","public","yes","yes",10,"yes","no",12,12,"3",32,NA,"both","yes"
+"466",500,11,10,"afam","yes","yes",27,"yes","yes","public","no","yes",10,"yes","no",3,10.25,"9",37,NA,"other","no"
+"467",1154,16,12,"afam","yes","no",34,"yes","yes","public","yes","yes",16,"yes","no",9.9399995803833,12,"4",49,89,"both","yes"
+"468",855,18,2,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,10.25,"9",40,NA,"both","yes"
+"469",479,12,10,"other","no","no",28,"yes","yes","public","no","yes",11,"yes","no",16,12,"2",38,NA,"both","yes"
+"470",817,18,1,"other","yes","yes",25,"yes","yes","public","no","yes",10,"yes","no",12,11,"5",31,125,"both","yes"
+"471",692,18,5,"other","yes","no",29,"yes","yes","public","no","yes",14,"no","no",18,12,"2",47,129,"both","yes"
+"472",989,16,11,"other","no","no",33,"yes","yes","public","no","yes",16,"yes","no",12,8,"5",47,118,"both","yes"
+"473",447,16,9,"other","yes","yes",31,"yes","yes","public","yes","yes",16,"yes","no",9.9399995803833,12,"4",34,114,"both","yes"
+"474",1002,18,10,"other","yes","no",34,"yes","yes","public","no","yes",17,"yes","no",16,12,"2",40,121,"both","yes"
+"475",1241,18,10,"other","yes","no",34,"yes","yes","public","no","no",17,"yes","no",12,12,"3",51,115,"both","yes"
+"476",921,14,12,"other","no","no",32,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,12,"4",44,120,"step","yes"
+"477",571,12,10,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",7,8,"8",37,85,"both",NA
+"478",525,12,13,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",6,11,"8",43,109,"both","yes"
+"479",1154,12,10,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",8,12,"6",42,117,"both","yes"
+"480",480,12,6,"afam","yes","no",24,"yes","yes","public","no","yes",7,"yes","no",5,10,"8",31,NA,"both","no"
+"481",839,11,7,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",9.9399995803833,10,"9",29,NA,"singlemom","yes"
+"482",1402,14,13,"other","yes","no",33,"yes","yes","public","no","yes",13,"yes","no",10,10,"7",42,NA,"both","yes"
+"483",400,13,8,"afam","yes","no",27,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,10.25,"9",21,NA,"both","yes"
+"484",710,12,15,"other","yes","no",33,"yes","yes","public","no","no",11,"yes","no",12,8,"5",43,NA,"both","yes"
+"485",635,14,4,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",10,12,"6",29,104,"both","yes"
+"486",388,13,7,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",11,12,"6",28,109,"both","yes"
+"487",688,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",8,10,"8",28,105,"both","yes"
+"488",630,12,16,"other","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,10.25,"9",36,85,"both","yes"
+"489",1044,15,13,"other","yes","no",34,"yes","no","private","no","no",12,"yes","no",12,8,"5",38,115,"both","yes"
+"490",577,12,6,"other","yes","no",24,"yes","no","private","no","yes",9,"yes","no",9.9399995803833,12,"4",41,NA,"singlemom","yes"
+"491",500,12,7,"other","yes","no",25,"yes","no","private","no","no",9,"yes","no",9.9399995803833,12,"4",38,89,"singlemom","yes"
+"492",781,12,16,"other","no","no",34,"yes","yes","public","no","yes",12,"no","no",9.9399995803833,12,"4",50,85,"singlemom","no"
+"493",577,13,7,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",12,11,"5",34,102,"both","yes"
+"494",525,13,6,"other","yes","no",25,"yes","yes","public","yes","no",9,"yes","no",12,11,"5",39,109,"both","yes"
+"495",385,17,5,"other","yes","no",28,"yes","yes","public","yes","yes",12,"yes","no",12,12,"3",39,107,"both","yes"
+"496",625,12,11,"other","yes","no",29,"yes","no","private","no","yes",8,"yes","no",8,10.25,"9",35,NA,"both",NA
+"497",625,16,6,"other","yes","no",28,"yes","no","private","yes","yes",12,"yes","no",11,11,"7",32,103,"both","yes"
+"498",475,13,7,"other","yes","no",26,"yes","no","private","yes","yes",10,"yes","no",10,12,"6",34,83,"both","yes"
+"499",659,14,5,"other","yes","no",25,"yes","no","private","yes","yes",10,"yes","no",12,12,"3",32,112,"both","yes"
+"500",425,16,2,"other","yes","no",24,"yes","no","private","no","no",8,"yes","no",12,12,"3",30,NA,"both","yes"
+"501",524,14,5,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",10,11,"7",32,106,"both","yes"
+"502",625,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",10,10,"7",30,101,"both","no"
+"503",1010,16,9,"other","yes","no",31,"no","no","none","no","yes",15,"yes","no",9,12,"6",47,105,"both","yes"
+"504",601,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",9,12,"6",40,116,"both","yes"
+"505",808,12,9,"other","yes","no",27,"no","no","none","no","yes",11,"yes","no",9.9399995803833,11,"9",22,NA,"step","no"
+"506",426,12,10,"other","yes","no",28,"no","no","none","no","yes",11,"yes","no",7,7,"8",22,90,"both","yes"
+"507",1060,12,12,"other","yes","no",30,"no","no","none","no","yes",12,"yes","no",5,11,"8",28,91,"both","yes"
+"508",414,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",5,11,"8",41,128,"both","yes"
+"509",492,12,12,"other","yes","no",30,"no","no","none","no","yes",9,"yes","no",9.9399995803833,7,"9",34,110,"singlemom","yes"
+"510",325,12,9,"other","yes","no",27,"no","no","none","no","yes",11,"yes","no",9.9399995803833,7,"9",28,93,"singlemom","yes"
+"511",275,12,10,"other","yes","no",28,"no","no","none","no","no",12,"yes","no",12,7,"5",33,75,"both","yes"
+"512",291,12,7,"other","yes","no",25,"no","no","none","no","no",9,"yes","no",8,12,"6",17,94,"both","yes"
+"513",731,18,7,"other","yes","yes",31,"no","no","none","no","yes",12,"yes","no",16,10.25,"5",39,NA,"other","yes"
+"514",488,14,6,"other","yes","yes",26,"no","no","none","no","yes",11,"yes","no",12,12,"3",38,112,"both","yes"
+"515",337,14,4,"other","yes","no",24,"no","no","none","no","no",9,"yes","no",12,12,"3",32,121,"both","yes"
+"516",725,12,9,"other","yes","no",27,"no","no","none","no","yes",12,"yes","no",12,12,"3",33,100,"both","yes"
+"517",440,13,6,"other","no","no",25,"no","no","none","no","yes",10,"yes","no",12,12,"3",27,109,"both","yes"
+"518",641,16,5,"other","no","no",27,"no","no","none","no","yes",11,"yes","no",8,8,"8",38,122,"both","no"
+"519",375,12,10,"other","yes","no",28,"no","no","none","no","no",12,"yes","no",8,11,"8",26,102,"both","no"
+"520",481,12,7,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",9.9399995803833,10.25,"9",34,131,"other","yes"
+"521",925,14,9,"other","yes","no",29,"no","no","none","no","yes",12,"yes","no",10,8,"8",38,122,"both","no"
+"522",514,12,8,"other","yes","no",26,"no","no","none","no","no",8,"yes","no",12,12,"3",NA,NA,"both","yes"
+"523",1065,12,15,"other","yes","no",33,"no","no","none","no","yes",12,"yes","no",10,10,"7",38,105,"both","no"
+"524",638,12,10,"other","yes","no",28,"no","no","none","no","yes",12,"yes","no",9.9399995803833,10,"9",36,103,"both","yes"
+"525",739,12,14,"other","yes","no",32,"no","no","none","no","yes",12,"yes","no",9,9,"7",37,113,"singlemom","yes"
+"526",493,12,8,"other","yes","no",26,"no","no","none","no","yes",10,"yes","no",12,8,"5",34,104,"step","no"
+"527",650,10,8,"other","yes","yes",24,"no","no","none","no","yes",8,"yes","no",12,9,"5",26,NA,"step","no"
+"528",308,7,18,"other","yes","no",31,"no","no","none","no","no",7,"yes","no",5,8,"8",33,NA,"both","no"
+"529",629,16,8,"other","yes","no",30,"no","no","none","no","yes",13,"no","no",11,9,"7",43,124,"both","yes"
+"530",409,13,9,"other","no","no",28,"no","no","none","no","yes",12,"no","no",8,12,"6",31,110,"both","yes"
+"531",600,18,9,"other","yes","no",33,"no","no","none","no","no",13,"no","no",9.9399995803833,10.25,"9",39,112,"both","yes"
+"532",745,12,10,"other","no","no",28,"no","no","none","no","yes",12,"yes","no",11,12,"6",34,104,"both","yes"
+"533",625,17,8,"other","yes","no",31,"no","no","none","yes","yes",14,"no","no",9.9399995803833,10.25,"9",37,96,"both","yes"
+"534",549,12,11,"other","no","no",29,"no","no","none","no","yes",12,"yes","no",12,12,"3",37,95,"both","yes"
+"535",326,15,3,"other","no","no",24,"no","no","none","yes","no",9,"no","no",12,12,"3",32,95,"both","yes"
+"536",258,9,11,"other","no","no",26,"no","no","none","no","yes",9,"no","no",7,10.25,"9",20,NA,"other","yes"
+"537",875,12,8,"other","yes","no",26,"yes","no","private","no","yes",11,"no","no",12,12,"3",40,103,"both","yes"
+"538",639,12,7,"other","no","no",25,"yes","no","private","no","yes",10,"no","no",12,12,"3",48,116,"both","yes"
+"539",667,11,16,"other","no","no",33,"yes","no","private","no","yes",11,"no","no",7,7,"8",37,NA,"both","yes"
+"540",504,14,9,"other","yes","yes",29,"yes","no","private","no","yes",14,"no","no",12,12,"3",45,95,"both","yes"
+"541",313,17,2,"other","yes","yes",25,"yes","no","private","yes","no",10,"no","no",12,12,"3",38,101,"both","yes"
+"542",1010,18,3,"other","yes","yes",27,"yes","no","private","no","yes",12,"no","no",9.9399995803833,12,"4",44,NA,"both","yes"
+"543",1000,10,17,"other","no","no",33,"yes","no","private","no","yes",8,"no","no",8,9,"8",34,NA,"both","yes"
+"544",721,16,6,"other","no","no",28,"yes","no","private","no","yes",13,"no","no",9.9399995803833,18,"4",39,120,"singlemom","yes"
+"545",785,12,9,"other","no","no",27,"yes","no","private","no","yes",11,"no","no",8,8,"8",39,102,"both","no"
+"546",546,12,16,"other","no","no",34,"yes","no","private","no","yes",12,"no","no",8,12,"6",39,105,"both","yes"
+"547",828,12,7,"other","no","no",25,"yes","no","private","no","no",10,"no","no",8,8,"8",28,103,"both","yes"
+"548",159,12,7,"other","no","no",25,"yes","no","private","no","yes",10,"no","no",10,10,"7",30,94,"both","yes"
+"549",700,10,11,"other","no","no",27,"yes","no","private","no","yes",9,"no","no",10,6,"8",22,NA,"both","no"
+"550",721,13,9,"other","no","no",28,"yes","no","private","no","yes",11,"no","no",10,12,"6",36,102,"both","no"
+"551",304,12,6,"other","no","no",24,"yes","no","private","no","yes",8,"no","no",10,12,"6",14,NA,"both","yes"
+"552",553,16,3,"other","yes","no",25,"yes","no","private","no","no",10,"no","no",12,16,"2",31,112,"both","yes"
+"553",542,14,6,"other","yes","yes",26,"yes","no","private","no","yes",11,"no","no",7,6,"8",35,101,"both","yes"
+"554",509,16,2,"other","no","no",24,"yes","no","private","no","yes",9,"no","no",12,12,"3",30,121,"both","yes"
+"555",385,16,2,"other","no","no",24,"yes","no","private","no","yes",9,"no","no",12,12,"3",40,105,"both","yes"
+"556",1442,12,14,"other","yes","no",32,"no","yes","none","no","yes",12,"yes","no",10,8,"8",42,96,"both","yes"
+"557",879,16,10,"other","yes","no",32,"no","yes","none","no","yes",16,"yes","no",14,14,"1",45,128,"step","yes"
+"558",1000,13,5,"other","yes","no",24,"no","yes","none","no","no",8,"yes","no",16,14,"1",37,NA,"both","yes"
+"559",863,12,10,"other","no","no",28,"no","yes","none","no","yes",12,"no","no",12,9,"5",26,110,"both","no"
+"560",740,12,9,"other","no","no",27,"no","yes","none","no","yes",12,"no","no",11,12,"6",32,92,"both","yes"
+"561",889,12,16,"other","no","no",34,"no","yes","none","no","yes",12,"no","no",9.9399995803833,10.25,"9",39,87,"both","yes"
+"562",458,15,8,"other","yes","no",29,"no","yes","none","yes","yes",13,"yes","no",9,10,"7",34,126,"both","yes"
+"563",450,12,16,"other","yes","no",34,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,9,"9",34,98,"both","yes"
+"564",700,12,16,"other","yes","no",34,"yes","no","public","no","yes",11,"yes","no",9.9399995803833,10.25,"9",39,103,"both","yes"
+"565",744,14,13,"other","yes","no",33,"yes","no","public","no","yes",11,"yes","no",8,12,"6",49,122,"both","yes"
+"566",889,16,10,"other","yes","no",32,"yes","no","public","no","yes",14,"no","no",12,11,"5",43,109,"both","yes"
+"567",692,18,8,"other","yes","no",32,"yes","no","public","no","yes",17,"no","no",12,12,"3",37,125,"both","yes"
+"568",604,18,9,"other","no","no",33,"yes","no","public","no","yes",17,"no","no",12,12,"3",38,119,"both","no"
+"569",625,18,6,"other","yes","no",30,"yes","no","public","no","yes",15,"yes","no",9.9399995803833,14,"4",42,97,"singlemom","yes"
+"570",746,14,13,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",8,12,"6",36,103,"both","yes"
+"571",726,18,9,"other","yes","no",33,"yes","no","public","no","yes",16,"yes","no",8,16,"6",42,95,"both","yes"
+"572",560,12,12,"other","yes","no",30,"yes","no","public","no","yes",12,"yes","no",8,10,"8",40,99,"both","yes"
+"573",424,12,8,"other","no","no",26,"yes","no","public","no","yes",10,"no","no",12,10,"5",31,106,"both","yes"
+"574",400,12,8,"other","no","no",26,"yes","no","public","no","yes",10,"no","no",9.9399995803833,12,"4",33,117,"singlemom","yes"
+"575",250,14,6,"other","yes","no",26,"yes","no","public","no","no",10,"no","no",12,12,"3",40,112,"both","yes"
+"576",646,13,7,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",8,12,"6",30,136,"both","yes"
+"577",598,12,6,"other","yes","no",24,"yes","no","public","no","yes",7,"yes","no",12,12,"3",35,NA,"both","yes"
+"578",1000,12,9,"other","yes","no",27,"yes","no","public","no","no",11,"yes","no",8,8,"8",33,110,"both","yes"
+"579",528,12,10,"other","no","no",28,"yes","yes","private","no","yes",12,"no","no",12,13,"2",26,111,"both","yes"
+"580",481,12,8,"other","no","no",26,"yes","yes","private","no","no",11,"no","no",12,13,"2",32,115,"both","yes"
+"581",850,12,15,"other","no","no",33,"yes","yes","private","no","yes",12,"no","no",6,12,"6",47,90,"both","yes"
+"582",506,14,10,"other","no","no",30,"yes","yes","private","no","yes",14,"yes","no",9.9399995803833,10.25,"9",45,98,"both","yes"
+"583",512,12,11,"other","yes","no",29,"yes","yes","private","no","yes",12,"yes","no",8,8,"8",41,106,"both","no"
+"584",220,11,9,"other","yes","no",26,"yes","yes","private","no","no",8,"yes","no",9.9399995803833,9,"9",20,NA,"other","no"
+"585",154,16,2,"other","yes","no",24,"yes","yes","private","yes","no",8,"yes","no",9.9399995803833,10.25,"9",38,NA,"other","yes"
+"586",240,12,13,"other","yes","no",31,"yes","yes","private","no","yes",12,"yes","no",11,12,"6",44,95,"both","yes"
+"587",557,12,10,"other","yes","no",28,"yes","yes","private","no","yes",12,"yes","no",11,12,"6",43,115,"both","yes"
+"588",500,15,6,"other","yes","no",27,"yes","yes","private","no","no",12,"yes","no",12,12,"3",40,106,"step","no"
+"589",372,16,4,"other","yes","no",26,"yes","yes","private","no","yes",11,"yes","no",9.9399995803833,10.25,"9",34,102,"both","yes"
+"590",350,10,9,"other","no","no",25,"yes","yes","private","no","no",9,"no","no",8,8,"8",26,91,"both","no"
+"591",584,12,8,"other","no","no",26,"yes","yes","private","no","yes",10,"no","no",8,8,"8",26,114,"both","no"
+"592",515,13,7,"other","no","no",26,"yes","yes","private","no","no",10,"no","no",10,12,"6",34,92,"both","yes"
+"593",390,12,11,"other","no","no",29,"no","no","none","no","no",12,"no","no",9.9399995803833,10.25,"9",43,111,"both","yes"
+"594",280,16,3,"other","no","no",25,"no","no","none","no","no",10,"no","no",12,12,"3",34,111,"both","yes"
+"595",690,12,15,"other","no","no",33,"no","no","none","no","yes",11,"no","no",9.9399995803833,12,"4",38,NA,"both","yes"
+"596",300,12,8,"other","no","no",26,"no","no","none","no","yes",11,"no","no",9.9399995803833,12,"4",30,96,"both","yes"
+"597",635,17,4,"other","no","no",27,"no","no","none","no","yes",12,"no","no",12,13,"2",36,119,"both","yes"
+"598",342,13,7,"other","no","no",26,"no","no","none","no","yes",10,"no","no",12,13,"2",32,85,"both","yes"
+"599",505,16,4,"other","no","no",26,"no","no","none","no","yes",11,"no","no",12,12,"3",34,98,"both","yes"
+"600",356,13,5,"other","no","no",24,"no","no","none","no","yes",9,"no","no",12,12,"3",30,114,"both","yes"
+"601",262,12,15,"other","no","no",33,"no","no","none","no","yes",12,"no","no",9.9399995803833,10.25,"9",39,79,"other","yes"
+"602",400,10,16,"other","no","no",32,"no","no","none","no","yes",10,"no","no",9.9399995803833,10.25,"9",30,NA,"other","yes"
+"603",740,13,10,"other","no","no",29,"no","no","none","no","yes",13,"no","no",16,16,"1",42,108,"both","yes"
+"604",342,12,16,"other","no","no",34,"no","no","none","no","yes",12,"no","no",8,12,"6",NA,NA,"step","yes"
+"605",276,15,8,"other","no","no",29,"no","no","none","no","no",13,"no","no",8,12,"6",39,121,"both","yes"
+"606",427,9,9,"other","no","no",24,"no","no","none","yes","no",8,"no","no",10,12,"6",36,NA,"both","yes"
+"607",239,12,7,"other","no","no",25,"no","no","none","no","yes",9,"no","no",12,10.25,"5",40,117,"other","no"
+"608",385,13,5,"other","no","no",24,"no","no","none","no","yes",8,"no","no",12,10.25,"5",21,NA,"other","no"
+"609",350,12,11,"other","no","no",29,"no","no","none","no","yes",12,"no","no",4,8,"8",32,107,"both","no"
+"610",599,12,11,"other","no","no",29,"no","no","none","yes","yes",9,"no","no",9.9399995803833,10.25,"9",40,103,"other","yes"
+"611",750,15,10,"other","yes","no",31,"no","no","none","no","yes",12,"no","no",10,12,"6",45,105,"both","yes"
+"612",692,16,11,"other","no","no",33,"no","no","none","no","yes",16,"no","no",12,9,"5",41,105,"both","yes"
+"613",147,12,16,"other","no","no",34,"no","no","none","no","yes",12,"no","no",12,14,"2",43,88,"both","yes"
+"614",280,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"no","no",12,10,"5",34,96,"both","yes"
+"615",769,18,8,"other","yes","no",32,"yes","yes","public","no","yes",16,"no","no",9.9399995803833,7,"9",46,105,"both","yes"
+"616",1010,13,13,"other","yes","no",32,"yes","yes","public","no","no",12,"no","no",7,12,"6",41,NA,"both","no"
+"617",517,14,6,"other","no","no",26,"yes","yes","public","no","yes",10,"no","no",16,14,"1",34,100,"both","yes"
+"618",400,16,4,"other","no","no",26,"yes","yes","public","no","no",11,"no","no",16,14,"1",43,116,"both","yes"
+"619",375,12,7,"other","no","no",25,"yes","yes","public","no","yes",9,"no","no",12,10,"5",22,86,"both","yes"
+"620",596,12,13,"other","no","no",31,"yes","no","public","no","yes",12,"no","no",12,10,"5",27,88,"both","yes"
+"621",350,7,18,"other","no","no",31,"yes","no","public","no","yes",7,"no","no",9.9399995803833,10.25,"9",34,NA,"both","no"
+"622",417,11,16,"other","no","no",33,"yes","no","public","no","yes",11,"no","no",9.9399995803833,10.25,"9",34,97,"other","yes"
+"623",338,16,7,"other","no","no",29,"yes","no","public","no","no",13,"no","no",9.9399995803833,12,"4",43,112,"singlemom","yes"
+"624",481,18,2,"other","no","no",26,"yes","no","public","no","no",11,"no","no",18,14,"1",35,125,"both","yes"
+"625",500,12,10,"other","no","no",28,"yes","no","public","no","yes",11,"no","no",11,11,"7",12,NA,"both","yes"
+"626",305,12,9,"other","no","no",27,"yes","no","public","no","no",11,"no","no",9.9399995803833,10.25,"9",37,NA,"other","yes"
+"627",450,10,18,"other","no","no",34,"yes","no","public","no","yes",10,"no","no",9,10.25,"9",31,84,"both","yes"
+"628",769,16,7,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",14,12,"2",45,117,"both","yes"
+"629",721,16,4,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",14,12,"2",42,110,"both","yes"
+"630",1000,13,10,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,9,"9",32,104,"both","yes"
+"631",625,14,10,"other","yes","no",30,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",35,101,"both","yes"
+"632",817,16,4,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",12,11,"5",33,99,"both","yes"
+"633",377,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",8,10.25,"9",35,87,"other","yes"
+"634",708,12,15,"other","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",43,101,"both","no"
+"635",411,14,4,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",31,117,"both","yes"
+"636",1339,13,13,"other","yes","no",32,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,10.25,"9",41,108,"other","yes"
+"637",716,12,16,"other","no","no",34,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,1,"9",42,NA,"singlemom","no"
+"638",192,10,16,"afam","yes","no",32,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,9,"9",37,86,"both","yes"
+"639",797,16,10,"afam","yes","no",32,"yes","yes","public","no","no",15,"yes","no",8,10.25,"9",43,NA,"other","no"
+"640",924,16,12,"afam","yes","no",34,"yes","yes","public","no","yes",16,"yes","no",10,10,"7",33,69,"both","yes"
+"641",240,15,5,"afam","yes","no",26,"yes","yes","public","yes","no",11,"yes","no",18,16,"1",30,105,"both","yes"
+"642",625,13,6,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",39,104,"both","no"
+"643",1025,8,10,"other","yes","no",24,"yes","yes","public","no","yes",6,"yes","no",7,10,"8",34,NA,"both","no"
+"644",503,12,10,"afam","no","yes",28,"yes","yes","public","no","yes",12,"yes","no",9,11,"7",38,109,"both","yes"
+"645",462,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"no","no",8,8,"8",39,85,"both","yes"
+"646",476,16,3,"other","no","no",25,"yes","yes","public","no","yes",10,"yes","no",9,11,"7",36,114,"both","yes"
+"647",500,15,5,"other","yes","yes",26,"yes","yes","public","no","no",11,"yes","no",8,13,"6",33,99,"both","yes"
+"648",1000,12,16,"other","no","no",34,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",42,NA,"both","yes"
+"649",663,13,15,"other","no","no",34,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,10.25,"9",46,90,"both","yes"
+"650",707,15,13,"other","yes","no",34,"yes","yes","public","no","yes",15,"yes","no",12,12,"3",46,119,"both","yes"
+"651",928,16,9,"other","yes","yes",31,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",42,120,"both","yes"
+"652",300,12,6,"other","no","no",24,"yes","yes","public","no","yes",9,"yes","no",9.9399995803833,10.25,"9",36,NA,"both","yes"
+"653",365,15,6,"other","yes","no",27,"yes","yes","public","no","yes",12,"no","no",18,12,"2",46,112,"both","yes"
+"654",645,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",NA,97,"both","yes"
+"655",462,18,1,"other","no","no",25,"yes","no","public","no","yes",10,"yes","no",14,12,"2",30,107,"both","yes"
+"656",1026,18,9,"other","yes","no",33,"yes","no","public","no","yes",17,"yes","no",8,12,"6",41,117,"both","yes"
+"657",525,12,6,"other","yes","no",24,"yes","no","public","no","yes",9,"yes","no",12,12,"3",34,NA,"both","yes"
+"658",375,18,5,"other","yes","no",29,"yes","no","public","no","no",12,"yes","no",16,16,"1",41,125,"both","yes"
+"659",1538,18,10,"other","yes","no",34,"yes","no","public","no","yes",17,"yes","no",18,16,"1",47,112,"both","yes"
+"660",923,18,9,"other","yes","no",33,"yes","no","public","no","no",16,"yes","no",18,14,"1",46,106,"both","yes"
+"661",568,13,7,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",8,12,"6",40,104,"both","yes"
+"662",600,14,5,"other","yes","no",25,"yes","no","public","no","no",10,"yes","no",8,12,"6",23,89,"both","yes"
+"663",721,15,6,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",17,12,"2",38,116,"both","yes"
+"664",1116,17,1,"other","yes","no",24,"yes","no","public","yes","no",8,"yes","no",18,12,"2",46,NA,"both","yes"
+"665",712,14,7,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",9.9399995803833,8,"9",44,123,"singlemom","yes"
+"666",808,16,7,"other","yes","no",29,"yes","no","public","no","yes",14,"yes","no",9.9399995803833,8,"9",40,118,"both","yes"
+"667",925,11,10,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",8,12,"6",31,106,"both","yes"
+"668",550,9,10,"other","yes","no",25,"yes","no","public","no","no",8,"yes","no",9.9399995803833,10.25,"9",22,NA,"other","yes"
+"669",271,12,8,"other","yes","no",26,"yes","no","public","no","no",10,"yes","no",9.9399995803833,10.25,"9",20,91,"singlemom","yes"
+"670",833,7,19,"other","yes","no",32,"yes","yes","private","no","yes",7,"yes","no",8,11,"8",22,NA,"both","yes"
+"671",1200,12,12,"other","yes","no",30,"yes","yes","private","no","yes",12,"yes","no",7,12,"6",29,103,"both","yes"
+"672",581,14,13,"other","yes","no",33,"yes","yes","private","no","yes",12,"yes","no",6,8,"8",40,114,"both","no"
+"673",686,17,11,"afam","yes","no",34,"yes","yes","private","no","yes",15,"yes","no",12,8,"5",41,105,"both","yes"
+"674",1000,18,8,"afam","yes","no",32,"yes","yes","private","no","yes",16,"yes","no",12,8,"5",34,84,"both","yes"
+"675",537,13,5,"afam","yes","no",24,"yes","yes","private","no","no",8,"yes","no",9,8,"8",31,NA,"both","yes"
+"676",690,12,10,"afam","yes","no",28,"yes","yes","private","yes","yes",12,"yes","no",9.9399995803833,11,"9",32,89,"other","no"
+"677",500,12,10,"other","yes","no",28,"yes","yes","private","no","no",12,"yes","no",12,16,"2",36,81,"both","yes"
+"678",750,13,14,"other","yes","no",33,"yes","no","private","no","yes",13,"yes","no",3,12,"6",36,118,"both","yes"
+"679",913,17,6,"other","yes","yes",29,"yes","no","private","yes","yes",13,"yes","no",8,16,"6",38,91,"both","yes"
+"680",600,15,3,"other","yes","no",24,"yes","no","private","no","no",8,"yes","no",8,16,"6",19,NA,"both","yes"
+"681",577,16,2,"other","yes","no",24,"yes","no","private","no","no",9,"yes","no",12,12,"3",29,113,"both","yes"
+"682",601,12,8,"other","yes","no",26,"yes","no","private","no","yes",11,"yes","no",8,12,"6",38,121,"both","yes"
+"683",577,12,13,"other","yes","no",31,"yes","no","private","no","yes",12,"yes","no",6,12,"6",36,102,"both","yes"
+"684",677,12,14,"other","yes","no",32,"yes","no","private","no","no",12,"yes","no",9.9399995803833,6,"9",36,104,"both","yes"
+"685",473,18,3,"afam","yes","no",27,"yes","no","private","no","yes",12,"yes","no",9,10,"7",31,106,"both","yes"
+"686",350,14,4,"other","yes","no",24,"yes","no","private","yes","yes",8,"yes","no",8,12,"6",39,NA,"both","yes"
+"687",620,15,11,"other","yes","no",32,"yes","no","private","yes","yes",12,"yes","no",9,12,"6",45,108,"both","yes"
+"688",378,16,2,"other","yes","no",24,"yes","no","private","no","no",9,"yes","no",12,12,"3",41,108,"both","no"
+"689",243,16,3,"other","yes","no",25,"yes","no","private","no","no",10,"yes","no",16,13,"1",51,121,"both","yes"
+"690",750,12,8,"other","yes","no",26,"yes","no","private","no","no",10,"yes","no",7,12,"6",NA,87,"both","no"
+"691",441,18,6,"other","no","no",30,"yes","no","private","no","yes",15,"yes","no",12,14,"2",35,107,"both","yes"
+"692",688,14,9,"other","yes","no",29,"yes","no","private","no","no",14,"yes","no",12,14,"2",43,112,"both","yes"
+"693",501,18,1,"other","no","no",25,"yes","no","private","no","yes",9,"yes","no",12,14,"2",29,116,"both","yes"
+"694",400,12,11,"other","yes","no",29,"yes","no","private","no","no",12,"yes","no",12,12,"3",36,115,"both","yes"
+"695",981,12,8,"other","yes","no",26,"yes","no","private","no","yes",10,"yes","no",12,12,"3",39,107,"both","yes"
+"696",649,14,10,"other","yes","yes",30,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",36,117,"both","yes"
+"697",625,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",36,110,"singlemom","yes"
+"698",707,16,6,"afam","yes","no",28,"yes","yes","public","yes","yes",13,"no","no",12,11,"5",35,97,"both","yes"
+"699",1043,12,11,"other","yes","no",29,"yes","yes","public","no","no",12,"yes","no",11,12,"6",42,96,"both","yes"
+"700",761,12,9,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",8,8,"8",45,NA,"both","yes"
+"701",524,13,6,"other","no","no",25,"yes","yes","public","no","yes",9,"yes","no",14,12,"2",28,NA,"step","yes"
+"702",575,13,8,"afam","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",6,6,"8",34,91,"both","yes"
+"703",865,14,6,"afam","yes","no",26,"yes","yes","public","no","no",11,"yes","no",9.9399995803833,6,"9",31,97,"singlemom","yes"
+"704",713,12,10,"afam","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",12,8,"5",38,90,"both","yes"
+"705",673,16,5,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",7,8,"8",NA,112,"both","yes"
+"706",662,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",7,8,"8",27,97,"both","yes"
+"707",543,14,9,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",11,8,"8",45,120,"both","yes"
+"708",525,13,6,"other","yes","no",25,"yes","yes","public","yes","no",10,"yes","no",12,12,"3",40,109,"both","yes"
+"709",640,12,10,"other","yes","no",28,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,8,"9",36,NA,"singlemom","yes"
+"710",297,12,8,"other","yes","no",26,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,8,"9",26,NA,"singlemom","yes"
+"711",947,8,19,"afam","yes","no",33,"yes","yes","public","no","no",8,"yes","no",9.9399995803833,10.25,"9",37,NA,"other","no"
+"712",500,12,16,"afam","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",8,9,"8",40,99,"both","yes"
+"713",620,13,6,"afam","yes","no",25,"yes","yes","public","no","no",9,"yes","no",5,7,"8",43,NA,"both","yes"
+"714",277,12,7,"afam","yes","no",25,"yes","yes","public","no","yes",8,"yes","no",9.9399995803833,10,"9",31,NA,"singlemom",NA
+"715",240,10,10,"other","no","yes",26,"yes","no","public","no","yes",9,"yes","no",5,8,"8",29,99,"both","yes"
+"716",240,10,9,"other","no","yes",25,"yes","no","public","no","no",8,"yes","no",5,8,"8",34,NA,"both","yes"
+"717",462,12,15,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",32,85,"both","yes"
+"718",404,12,9,"afam","yes","no",27,"yes","no","public","no","no",11,"yes","no",9.9399995803833,11,"9",32,97,"singlemom","yes"
+"719",450,12,7,"afam","yes","no",25,"yes","no","public","no","yes",10,"yes","no",9.9399995803833,11,"9",40,95,"singlemom","yes"
+"720",250,12,6,"afam","yes","no",24,"yes","no","public","no","no",8,"yes","no",3,2,"8",28,NA,"both","yes"
+"721",727,11,9,"afam","yes","no",26,"yes","no","public","no","no",8,"yes","no",9.9399995803833,9,"9",23,NA,"both","yes"
+"722",667,12,6,"afam","yes","no",24,"yes","no","public","no","yes",8,"yes","no",9.9399995803833,9,"9",30,NA,"singlemom","yes"
+"723",962,12,10,"afam","yes","no",28,"yes","no","public","no","no",11,"yes","no",9.9399995803833,6,"9",31,80,"both","yes"
+"724",750,14,7,"other","yes","no",27,"yes","no","public","no","no",11,"yes","no",9.9399995803833,8,"9",44,126,"singlemom","yes"
+"725",667,14,5,"other","yes","no",25,"yes","no","public","no","no",10,"yes","no",8,8,"8",20,NA,"both","yes"
+"726",692,17,11,"other","no","no",34,"yes","no","public","no","yes",16,"yes","no",8,12,"6",49,109,"both","yes"
+"727",465,12,7,"afam","yes","no",25,"yes","no","public","no","yes",8,"yes","no",6,12,"6",21,NA,"both","yes"
+"728",641,12,12,"afam","yes","no",30,"yes","no","public","no","no",12,"yes","no",9.9399995803833,10.25,"9",38,NA,"singlemom","yes"
+"729",710,11,12,"afam","yes","no",29,"yes","no","public","no","yes",10,"yes","no",9.9399995803833,11,"9",22,86,"singlemom","yes"
+"730",425,13,6,"afam","yes","no",25,"yes","no","public","no","no",8,"yes","no",9.9399995803833,10,"9",22,NA,"singlemom","yes"
+"731",833,12,9,"other","yes","no",27,"yes","no","public","no","yes",11,"yes","no",12,12,"3",46,112,"step","yes"
+"732",308,12,8,"other","yes","no",26,"yes","no","public","yes","yes",10,"yes","no",12,12,"3",41,98,"step","yes"
+"733",625,16,7,"other","yes","no",29,"yes","no","public","no","no",14,"yes","no",12,12,"3",48,119,"both","yes"
+"734",1442,16,10,"other","yes","no",32,"yes","no","public","no","yes",13,"yes","no",13,16,"1",26,NA,"both","yes"
+"735",673,16,3,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",12,12,"3",38,102,"both","yes"
+"736",1346,17,5,"other","yes","no",28,"yes","no","public","no","yes",13,"yes","no",14,14,"1",46,NA,"both","yes"
+"737",400,17,10,"other","yes","no",33,"yes","no","public","no","no",12,"yes","no",12,10,"5",41,128,"both","yes"
+"738",518,9,19,"other","no","no",34,"yes","no","public","no","yes",9,"yes","no",12,10.25,"5",38,82,"both","yes"
+"739",456,14,6,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",16,16,"1",30,NA,"both","yes"
+"740",409,17,10,"other","yes","yes",33,"yes","no","public","no","yes",16,"yes","no",12,12,"3",42,113,"both","yes"
+"741",559,18,10,"other","yes","no",34,"yes","no","public","no","no",17,"yes","no",5,9,"8",45,105,"both","yes"
+"742",230,12,6,"afam","yes","no",24,"yes","no","public","no","yes",7,"yes","no",10,9,"7",32,NA,"both","yes"
+"743",1026,17,4,"other","yes","no",27,"yes","yes","public","yes","no",11,"yes","no",18,18,"1",46,124,"both","yes"
+"744",1082,12,9,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",13,13,"1",48,NA,"both","yes"
+"745",1202,14,4,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",13,13,"1",39,94,"both","yes"
+"746",329,17,2,"other","no","no",25,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,12,"4",40,117,"both","yes"
+"747",481,18,3,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",14,14,"1",39,116,"both","yes"
+"748",673,18,0,"other","yes","yes",24,"yes","yes","public","no","no",9,"yes","no",14,10.25,"5",33,NA,"both",NA
+"749",1683,17,8,"other","yes","no",31,"yes","yes","public","no","no",15,"no","no",12,12,"3",41,NA,"both","yes"
+"750",1282,16,12,"other","yes","no",34,"yes","yes","public","no","yes",16,"yes","no",12,12,"3",40,112,"both","yes"
+"751",577,12,6,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,14,"2",23,NA,"both","yes"
+"752",444,18,3,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",9,9,"7",31,105,"both","yes"
+"753",481,16,6,"afam","yes","no",28,"yes","yes","public","no","no",11,"yes","no",9.9399995803833,9,"9",34,87,"singlemom","yes"
+"754",467,12,6,"afam","yes","no",24,"yes","yes","public","no","no",9,"yes","no",16,12,"2",NA,108,"both","yes"
+"755",668,6,19,"other","yes","no",31,"yes","yes","public","no","yes",6,"yes","no",3,3,"8",40,NA,"both","no"
+"756",286,15,6,"other","yes","no",27,"yes","yes","public","no","yes",10,"yes","no",12,12,"3",36,89,"both","yes"
+"757",577,18,9,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","no",12,12,"3",NA,119,"both","yes"
+"758",721,14,9,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",34,97,"both","yes"
+"759",462,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",6,8,"8",28,89,"both","yes"
+"760",750,15,4,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",12,10,"5",28,NA,"both","no"
+"761",200,12,6,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",6,12,"6",39,131,"both","yes"
+"762",650,12,9,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",12,10,"5",26,NA,"both","yes"
+"763",481,18,4,"other","yes","no",28,"yes","yes","public","no","no",14,"yes","no",12,11,"5",30,NA,"other","yes"
+"764",600,11,7,"other","yes","no",24,"yes","yes","public","no","yes",7,"yes","no",9,10.25,"9",38,NA,"singlemom","no"
+"765",769,16,6,"other","yes","yes",28,"yes","yes","public","no","yes",13,"yes","no",16,16,"1",35,85,"both","yes"
+"766",775,17,4,"other","yes","no",27,"yes","yes","public","yes","yes",12,"yes","no",16,16,"1",26,132,"both","yes"
+"767",641,16,2,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",16,16,"1",28,114,"both","yes"
+"768",1055,14,13,"other","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",14,10,"5",35,98,"both","yes"
+"769",676,16,9,"other","yes","no",31,"yes","yes","public","no","no",15,"yes","no",14,12,"2",44,110,"both","yes"
+"770",691,12,10,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,10.25,"9",41,124,"other","yes"
+"771",962,17,7,"other","yes","no",30,"yes","yes","public","yes","yes",15,"yes","no",14,12,"2",41,118,"both","yes"
+"772",400,13,9,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",14,12,"2",32,90,"both","yes"
+"773",673,16,5,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",14,12,"2",38,108,"both","yes"
+"774",1442,18,10,"afam","yes","no",34,"yes","yes","public","no","yes",17,"yes","no",10,11,"7",42,112,"both","yes"
+"775",529,18,8,"other","yes","no",32,"yes","yes","public","no","yes",15,"yes","no",16,10,"5",38,100,"both","yes"
+"776",700,14,7,"afam","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",9,11,"7",21,84,"both","yes"
+"777",675,8,20,"afam","yes","no",34,"yes","yes","public","no","yes",8,"yes","no",9.9399995803833,4,"9",36,NA,"step","no"
+"778",494,18,1,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",8,10,"8",34,97,"both","yes"
+"779",500,12,6,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",12,8,"5",26,113,"both","yes"
+"780",450,16,2,"afam","yes","no",24,"yes","yes","public","no","no",8,"yes","no",9.9399995803833,10.25,"9",27,NA,"both","no"
+"781",601,13,6,"afam","yes","no",25,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,8,"9",27,NA,"singlemom","yes"
+"782",717,13,9,"afam","yes","no",28,"yes","yes","public","yes","no",13,"yes","no",9,12,"6",37,105,"both","yes"
+"783",575,12,11,"afam","yes","no",29,"yes","yes","public","no","no",11,"yes","no",9,10,"7",28,88,"both","yes"
+"784",350,12,7,"afam","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",9,10,"7",33,74,"both","yes"
+"785",350,12,6,"afam","yes","no",24,"yes","yes","public","no","no",7,"yes","no",9,10,"7",31,NA,"both","no"
+"786",643,16,7,"other","yes","no",29,"yes","no","public","no","yes",13,"yes","no",12,12,"3",46,115,"both","yes"
+"787",675,15,3,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",10,12,"6",30,NA,"both","yes"
+"788",679,15,7,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,12,"3",34,91,"both","yes"
+"789",534,12,9,"other","yes","no",27,"yes","no","public","no","no",11,"yes","no",12,9,"5",34,103,"both","yes"
+"790",524,16,9,"other","yes","no",31,"yes","no","public","no","yes",14,"yes","no",12,10,"5",46,102,"both","yes"
+"791",667,16,6,"other","yes","yes",28,"yes","no","public","no","no",13,"no","no",10,10,"7",38,98,"both","yes"
+"792",370,14,6,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",12,10.25,"5",35,NA,"both","yes"
+"793",658,15,5,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",12,12,"3",47,NA,"both","yes"
+"794",700,12,16,"afam","yes","no",34,"yes","no","public","no",NA,12,"yes","no",9.9399995803833,10.25,"9",39,NA,"both","no"
+"795",311,18,3,"other","yes","no",27,"yes","no","public","no","no",11,"yes","no",9,12,"6",33,82,"both","yes"
+"796",841,9,18,"other","yes","no",33,"yes","no","public","no","yes",9,"yes","no",9.9399995803833,9,"9",44,NA,"singlemom","yes"
+"797",660,14,11,"other","yes","no",31,"yes","no","public","no","yes",14,"yes","no",10,12,"6",47,112,"both","yes"
+"798",692,16,9,"other","yes","no",31,"yes","no","public","no","yes",12,"yes","no",8,9,"8",41,108,"both","yes"
+"799",577,15,7,"other","yes","no",28,"yes","no","public","no","yes",13,"yes","no",9.9399995803833,7,"9",37,90,"both","yes"
+"800",705,17,3,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",9,12,"6",32,NA,"other","yes"
+"801",292,16,5,"other","yes","yes",27,"yes","no","public","no","yes",10,"yes","no",5,8,"8",38,111,"both","yes"
+"802",750,13,7,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",8,11,"8",24,96,"both","yes"
+"803",1442,16,12,"other","yes","no",34,"yes","no","public","no","yes",16,"yes","no",12,12,"3",48,NA,"both","no"
+"804",1202,16,11,"other","yes","no",33,"yes","no","public","no","yes",16,"yes","no",16,16,"1",48,127,"both","yes"
+"805",1603,15,12,"other","yes","yes",33,"yes","no","public","no","yes",14,"yes","no",9.9399995803833,8,"9",47,97,"both","yes"
+"806",769,14,12,"other","yes","yes",32,"yes","no","public","no","no",14,"yes","no",9.9399995803833,12,"4",50,120,"both","yes"
+"807",513,16,9,"other","yes","no",31,"yes","no","public","no","no",15,"yes","no",14,16,"1",41,101,"both","yes"
+"808",805,12,13,"other","yes","no",31,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,8,"9",38,100,"singlemom","no"
+"809",962,17,11,"other","yes","no",34,"yes","no","public","yes","yes",16,"yes","no",8,8,"8",44,99,"both","yes"
+"810",675,12,7,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",16,16,"1",NA,104,"both","yes"
+"811",398,13,5,"other","yes","no",24,"yes","no","public","no","yes",9,"yes","no",8,8,"8",NA,116,"both","yes"
+"812",855,14,13,"other","yes","no",33,"yes","no","public","no","yes",14,"yes","no",12,12,"3",40,120,"both","yes"
+"813",693,11,8,"afam","yes","no",25,"yes","no","public","no","yes",9,"yes","no",9.9399995803833,9,"9",27,95,"singlemom","no"
+"814",641,11,7,"afam","yes","no",24,"yes","no","public","no","no",8,"yes","no",8,9,"8",27,NA,"both","no"
+"815",345,13,8,"afam","yes","no",27,"yes","no","public","no","yes",10,"yes","no",10,8,"8",34,99,"both","no"
+"816",561,12,9,"afam","yes","no",27,"yes","no","public","no","no",11,"yes","no",9.9399995803833,10.25,"9",24,68,"both","yes"
+"817",684,12,6,"afam","yes","no",24,"yes","no","public","no","yes",8,"yes","no",9,11,"7",21,NA,"both","yes"
+"818",469,16,7,"other","yes","yes",29,"yes","no","public","no","yes",14,"yes","no",16,16,"1",49,122,"both","yes"
+"819",300,16,4,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",12,12,"3",37,106,"step","yes"
+"820",673,18,1,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",12,9,"5",37,101,"both","yes"
+"821",385,16,2,"other","yes","no",24,"yes","no","public","no","no",8,"yes","no",12,9,"5",29,NA,"both","yes"
+"822",808,16,11,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",8,6,"8",45,104,"both","yes"
+"823",548,17,1,"other","yes","no",24,"yes","no","public","yes","no",8,"yes","no",12,12,"3",40,NA,"both","yes"
+"824",500,16,4,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",12,12,"3",38,NA,"both","yes"
+"825",727,13,10,"other","yes","no",29,"yes","no","public","yes","yes",12,"yes","no",11,12,"6",38,99,"both","yes"
+"826",524,16,6,"other","yes","no",28,"yes","no","public","no","yes",12,"no","no",11,12,"6",29,NA,"both","yes"
+"827",450,15,3,"afam","yes","no",24,"yes","no","public","no","no",8,"yes","no",2,8,"8",36,NA,"both","yes"
+"828",755,12,10,"afam","yes","no",28,"yes","no","public","no","yes",12,"yes","no",6,8,"8",34,NA,"both","no"
+"829",640,12,6,"afam","yes","no",24,"yes","no","public","no","yes",8,"yes","no",11,10.25,"9",37,NA,"other","no"
+"830",313,12,6,"afam","yes","no",24,"yes","no","public","no","yes",8,"yes","no",10,12,"6",30,NA,"both","yes"
+"831",1425,12,11,"other","yes","no",29,"yes","no","public","no","yes",12,"yes","no",12,12,"3",37,101,"both","no"
+"832",761,12,10,"other","yes","no",28,"yes","no","public","no","no",12,"yes","no",11,5,"8",23,110,"both","yes"
+"833",600,12,8,"other","yes","no",26,"yes","no","public","no","yes",9,"yes","no",11,5,"8",35,94,"both","yes"
+"834",1111,16,10,"other","yes","no",32,"yes","no","public","no","yes",14,"yes","no",12,15,"2",42,111,"both","yes"
+"835",763,16,11,"other","yes","no",33,"yes","no","public","no","yes",15,"yes","no",13,17,"1",50,120,"both","yes"
+"836",650,12,14,"other","yes","no",32,"yes","no","public","no","yes",12,"yes","no",8,8,"8",45,108,"both","yes"
+"837",1155,14,7,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",16,16,"1",39,111,"both","yes"
+"838",600,12,6,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",9,12,"6",25,NA,"both","yes"
+"839",555,12,11,"other","yes","no",29,"yes","no","public","no","yes",9,"yes","no",11,11,"7",31,103,"both","no"
+"840",543,11,11,"other","yes","no",28,"yes","no","public","yes","yes",8,"yes","no",11,11,"7",25,NA,"both","no"
+"841",550,11,8,"other","yes","no",25,"yes","no","public","yes","yes",6,"yes","no",11,11,"7",31,NA,"both","no"
+"842",800,11,14,"other","yes","no",31,"yes","no","public","no","yes",11,"yes","no",9.9399995803833,10.25,"9",39,97,"other","no"
+"843",1000,11,9,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",10,11,"7",26,97,"both","no"
+"844",864,12,13,"other","yes","no",31,"yes","no","public","no","yes",12,"yes","no",13,11,"5",36,106,"both","no"
+"845",613,13,13,"other","yes","no",32,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,6,"9",43,109,"step","yes"
+"846",519,16,2,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",12,12,"3",27,NA,"both","yes"
+"847",707,13,11,"afam","yes","no",30,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",45,96,"both","yes"
+"848",818,13,7,"afam","yes","no",26,"yes","no","public","yes","yes",10,"yes","no",10,10,"7",26,79,"both","yes"
+"849",300,10,9,"afam","yes","no",25,"yes","no","public","no","no",9,"yes","no",10,12,"6",31,62,"both","yes"
+"850",702,16,8,"other","yes","no",30,"yes","yes","private","yes","yes",14,"yes","no",9,9,"7",47,110,"both","yes"
+"851",1322,16,12,"other","yes","no",34,"yes","yes","private","no","yes",16,"yes","no",9.9399995803833,12,"4",47,117,"singlemom","yes"
+"852",380,12,9,"afam","yes","no",27,"yes","yes","private","yes","yes",10,"yes","no",9.9399995803833,12,"4",25,72,"singlemom","no"
+"853",400,11,9,"afam","yes","no",26,"yes","yes","private","no","no",9,"yes","no",9.9399995803833,10.25,"9",30,83,"other","yes"
+"854",498,11,8,"afam","yes","no",25,"yes","yes","private","no","yes",9,"yes","no",9.9399995803833,10.25,"9",22,99,"singlemom","yes"
+"855",663,10,17,"afam","yes","no",33,"yes","yes","private","no","yes",10,"yes","no",9.9399995803833,11,"9",18,72,"singlemom","yes"
+"856",600,10,17,"afam","yes","no",33,"yes","yes","private","no","no",10,"yes","no",8,11,"8",29,88,"both","no"
+"857",1034,18,8,"other","no","yes",32,"yes","yes","private","no","yes",17,"yes","no",16,12,"2",48,123,"both","yes"
+"858",1079,14,5,"other","yes","no",25,"yes","yes","private","no","no",10,"yes","no",12,12,"3",23,91,"both","yes"
+"859",400,18,0,"other","yes","yes",24,"yes","yes","private","no","no",9,"yes","no",12,12,"3",31,98,"both","yes"
+"860",641,16,11,"other","yes","no",33,"yes","yes","private","no","no",15,"yes","no",13,12,"2",37,119,"both","no"
+"861",620,12,14,"other","yes","no",32,"yes","yes","private","no","yes",12,"yes","no",9.9399995803833,8,"9",33,87,"step","no"
+"862",481,17,7,"other","yes","no",30,"yes","yes","public","no","no",15,"yes","no",12,11,"5",49,121,"step","yes"
+"863",1058,16,11,"other","yes","no",33,"yes","yes","public","no","no",16,"yes","no",8,8,"8",41,NA,"both","yes"
+"864",545,12,8,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",8,12,"6",33,112,"both","yes"
+"865",786,14,6,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",12,12,"3",38,113,"both","yes"
+"866",485,18,1,"other","yes","no",25,"yes","yes","public","no","no",11,"yes","no",12,12,"3",38,125,"both","yes"
+"867",722,14,14,"other","yes","no",34,"yes","yes","public","yes","yes",14,"yes","no",11,11,"7",45,121,"both","yes"
+"868",695,15,7,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",47,128,"both","yes"
+"869",549,15,13,"other","yes","no",34,"yes","yes","public","no","no",12,"yes","no",12,12,"3",41,NA,"both","yes"
+"870",793,15,11,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",15,12,"2",36,103,"both","yes"
+"871",1923,16,11,"other","yes","yes",33,"yes","yes","public","no","yes",16,"yes","no",18,16,"1",48,99,"both","yes"
+"872",793,15,12,"other","yes","no",33,"yes","yes","public","no","yes",14,"yes","no",12,12,"3",40,101,"both","yes"
+"873",900,15,7,"other","yes","no",28,"yes","no","public","no","no",12,"yes","no",9.9399995803833,10.25,"9",34,117,"other","yes"
+"874",654,14,12,"other","yes","no",32,"yes","no","public","no","yes",12,"yes","no",8,8,"8",41,109,"both","yes"
+"875",513,12,9,"other","yes","no",27,"yes","no","public","no","no",10,"yes","no",12,12,"3",46,73,"both","yes"
+"876",384,14,9,"other","yes","no",29,"yes","no","public","yes","no",12,"yes","no",9.9399995803833,12,"4",38,88,"singlemom","yes"
+"877",500,16,5,"other","no","yes",27,"yes","no","public","no","yes",12,"yes","no",16,16,"1",27,116,"both","yes"
+"878",601,15,4,"other","yes","no",25,"yes","no","public","yes","no",9,"yes","no",12,11,"5",40,137,"both","yes"
+"879",438,12,9,"other","yes","no",27,"yes","no","public","no","yes",10,"yes","no",12,12,"3",40,105,"both","yes"
+"880",500,12,7,"other","yes","no",25,"yes","no","public","no","no",9,"yes","no",12,12,"3",42,98,"both","yes"
+"881",1264,18,9,"other","yes","no",33,"yes","no","public","no","yes",17,"yes","no",9.9399995803833,18,"4",47,122,"singlemom","yes"
+"882",747,14,6,"other","yes","yes",26,"yes","no","public","no","yes",10,"yes","no",12,14,"2",43,104,"both","yes"
+"883",513,14,7,"other","yes","no",27,"yes","no","public","no","yes",10,"yes","no",12,12,"3",29,78,"both","yes"
+"884",700,12,15,"other","yes","yes",33,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",43,104,"singlemom",NA
+"885",672,16,7,"other","yes","no",29,"yes","no","public","no","yes",12,"yes","no",14,12,"2",38,93,"both","yes"
+"886",983,17,7,"other","yes","no",30,"yes","no","public","yes","no",14,"yes","no",9.9399995803833,10.25,"9",39,87,"both","yes"
+"887",220,13,10,"other","no","no",29,"yes","no","private","yes","yes",13,"yes","no",12,12,"3",35,101,"both","yes"
+"888",1202,18,9,"other","yes","no",33,"yes","no","private","no","yes",13,"yes","no",12,12,"3",39,134,"both","yes"
+"889",667,12,12,"other","no","no",30,"yes","no","private","no","yes",11,"yes","no",12,12,"3",39,85,"both","yes"
+"890",838,14,8,"afam","yes","no",28,"yes","no","private","no","yes",13,"yes","no",9.9399995803833,10.25,"9",41,NA,"other","yes"
+"891",444,15,4,"other","yes","no",25,"yes","no","private","yes","yes",9,"yes","no",12,12,"3",36,104,"both","yes"
+"892",543,12,7,"other","yes","no",25,"yes","no","private","no","no",10,"yes","no",10,12,"6",25,104,"both","yes"
+"893",505,14,10,"other","yes","yes",30,"yes","no","private","no","yes",14,"yes","no",12,12,"3",41,NA,"both","yes"
+"894",797,12,13,"other","no","no",31,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,10.25,"9",37,107,"step","yes"
+"895",357,9,9,"other","yes","no",24,"yes","no","private","no","yes",7,"yes","no",10,8,"8",18,NA,"both","yes"
+"896",500,12,9,"other","yes","no",27,"yes","no","private","no","yes",11,"yes","no",12,8,"5",30,93,"both","yes"
+"897",962,12,16,"other","yes","no",34,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,8,"9",47,NA,"singlemom","yes"
+"898",350,11,11,"other","yes","no",28,"yes","no","public","no","no",11,"yes","no",6,5,"8",31,94,"both","yes"
+"899",313,15,3,"other","yes","no",24,"yes","no","public","no","no",8,"yes","no",6,5,"8",35,NA,"both","yes"
+"900",117,16,2,"other","yes","yes",24,"yes","no","public","yes","yes",8,"yes","no",17,13,"1",34,NA,"both","yes"
+"901",726,12,15,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",10,8,"8",48,109,"both","yes"
+"902",536,13,14,"afam","yes","no",33,"yes","no","public","no","yes",13,"yes","no",9.9399995803833,11,"9",31,119,"both","no"
+"903",532,13,7,"afam","yes","yes",26,"yes","no","public","no","yes",11,"yes","no",12,12,"3",29,98,"both","yes"
+"904",428,17,5,"afam","yes","yes",28,"yes","no","public","yes","yes",14,"yes","no",9.9399995803833,10.25,"9",32,103,"other","yes"
+"905",1094,16,12,"other","yes","no",34,"yes","no","public","no","yes",14,"yes","no",15,13,"1",50,NA,"both","yes"
+"906",1925,12,15,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,9,"9",45,NA,"singlemom","yes"
+"907",850,18,8,"other","yes","yes",32,"yes","no","public","no","yes",15,"yes","no",10,12,"6",36,112,"both","yes"
+"908",365,12,6,"other","yes","no",24,"yes","no","public","no","no",8,"yes","no",11,11,"7",34,NA,"both","yes"
+"909",474,16,4,"other","yes","no",26,"yes","no","public","no","no",11,"yes","no",12,8,"5",29,104,"both","yes"
+"910",656,13,7,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",11,10,"7",33,96,"both","no"
+"911",440,12,7,"other","yes","no",25,"yes","no","public","no","no",8,"yes","no",11,10,"7",22,NA,"both","no"
+"912",462,14,5,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",10,11,"7",38,102,"both","yes"
+"913",673,16,6,"other","yes","no",28,"no","no","none","no","yes",13,"yes","no",9,10.25,"9",41,103,"step","yes"
+"914",1150,12,6,"other","yes","no",24,"no","no","none","no","yes",7,"yes","no",12,12,"3",16,NA,"both","yes"
+"915",800,12,13,"other","yes","no",31,"no","no","none","no","no",11,"yes","no",9.9399995803833,10.25,"9",37,95,"other","no"
+"916",460,12,7,"other","yes","no",25,"no","no","none","no","no",9,"yes","no",9.9399995803833,12,"4",23,NA,"singlemom","yes"
+"917",334,12,8,"other","yes","no",26,"no","yes","none","no","yes",10,"yes","no",9.9399995803833,10.25,"9",31,93,"other","yes"
+"918",702,13,7,"other","yes","no",26,"no","yes","none","no","yes",11,"yes","no",6,8,"8",35,122,"both","yes"
+"919",524,12,7,"other","yes","no",25,"no","yes","none","no","no",10,"yes","no",6,8,"8",37,107,"both","yes"
+"920",667,7,20,"other","no","no",33,"yes","no","public","no","yes",7,"yes","no",9.9399995803833,8,"9",37,NA,"step","yes"
+"921",641,18,2,"other","yes","no",26,"yes","no","private","no","yes",11,"yes","no",12,12,"3",48,NA,"both","yes"
+"922",800,12,6,"other","yes","no",24,"yes","no","private","no","yes",8,"yes","no",12,12,"3",40,NA,"both","yes"
+"923",577,12,14,"other","yes","no",32,"yes","yes","private","no","yes",12,"yes","no",9.9399995803833,12,"4",30,97,"both","no"
+"924",423,18,8,"other","no","no",32,"yes","yes","private","no","yes",15,"yes","no",12,12,"3",41,115,"both","yes"
+"925",874,18,5,"other","yes","no",29,"yes","yes","private","no","yes",13,"yes","no",9.9399995803833,10.25,"9",42,120,"other","yes"
+"926",640,15,7,"other","yes","no",28,"yes","yes","private","no","yes",12,"yes","no",9.9399995803833,12,"4",29,103,"singlemom","no"
+"927",1101,16,7,"other","yes","yes",29,"no","no","none","no","yes",14,"yes","no",12,14,"2",41,106,"both","yes"
+"928",649,16,4,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",12,14,"2",32,96,"both","yes"
+"929",450,12,8,"other","yes","yes",26,"no","no","none","no","yes",9,"yes","no",8,8,"8",39,114,"both","yes"
+"930",924,12,15,"other","yes","no",33,"no","no","none","no","no",12,"yes","no",9.9399995803833,9,"9",37,NA,"both","yes"
+"931",698,11,10,"other","yes","no",27,"no","no","none","no","yes",10,"yes","no",9.9399995803833,9,"9",33,86,"singlemom","yes"
+"932",505,15,13,"afam","yes","no",34,"no","no","none","yes","yes",12,"yes","no",9.9399995803833,10.25,"9",27,78,"both","yes"
+"933",556,16,6,"other","yes","yes",28,"no","no","none","no","yes",12,"yes","no",12,13,"2",38,110,"both","yes"
+"934",375,17,2,"other","no","no",25,"no","no","none","yes","no",10,"yes","no",12,13,"2",37,132,"both","yes"
+"935",673,15,7,"other","yes","yes",28,"no","no","none","no","yes",12,"yes","no",12,12,"3",34,126,"both","yes"
+"936",308,13,11,"other","yes","no",30,"no","no","none","no","yes",13,"yes","no",8,8,"8",36,102,"both","yes"
+"937",585,12,16,"other","yes","no",34,"no","no","none","no","yes",12,"yes","no",12,12,"3",41,87,"both","yes"
+"938",781,12,6,"other","yes","no",24,"no","no","none","no","no",9,"yes","no",12,13,"2",31,89,"both","yes"
+"939",656,12,9,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,8,"9",40,106,"singlemom","yes"
+"940",423,12,10,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",8,5,"8",43,100,"both","yes"
+"941",1282,16,6,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,12,"3",26,98,"both","yes"
+"942",962,12,7,"other","yes","no",25,"yes","no","public","no","yes",9,"yes","no",11,12,"6",30,97,"step","yes"
+"943",800,12,12,"other","yes","no",30,"yes","no","public","no","yes",12,"yes","no",4,16,"6",38,111,"both","yes"
+"944",750,12,15,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",12,12,"3",40,100,"both","yes"
+"945",647,18,5,"other","yes","no",29,"yes","no","public","no","no",14,"yes","no",12,12,"3",39,110,"both","yes"
+"946",938,12,11,"other","yes","no",29,"yes","no","public","no","no",12,"yes","no",10,12,"6",38,114,"both","yes"
+"947",537,17,5,"other","yes","no",28,"yes","no","public","yes","no",13,"no","no",17,12,"2",43,135,"both","yes"
+"948",290,15,3,"other","yes","no",24,"yes","no","private","yes","no",9,"yes","no",13,16,"1",39,121,"both","yes"
+"949",192,12,11,"other","no","yes",29,"yes","no","private","no","yes",11,"no","yes",6,8,"8",33,95,"both","no"
+"950",818,18,6,"other","yes","no",30,"yes","no","private","no","yes",14,"yes","no",9.9399995803833,10.25,"9",35,116,"step","yes"
+"951",813,18,6,"other","yes","no",30,"yes","no","private","no","yes",13,"yes","no",9.9399995803833,13,"4",45,98,"step","yes"
+"952",727,12,11,"other","yes","no",29,"yes","no","private","no","yes",11,"yes","no",10,12,"6",28,90,"both","yes"
+"953",1125,12,6,"other","yes","no",24,"yes","no","private","no","yes",9,"yes","no",10,12,"6",33,116,"both","yes"
+"954",615,17,5,"afam","yes","no",28,"yes","no","private","yes","yes",12,"yes","no",14,10.25,"5",32,110,"other","yes"
+"955",403,12,8,"afam","yes","no",26,"yes","no","private","no","no",10,"yes","no",14,10.25,"5",23,97,"other","no"
+"956",705,11,9,"other","yes","no",26,"yes","no","private","no","yes",10,"yes","no",8,9,"8",24,89,"both","yes"
+"957",337,15,6,"other","yes","no",27,"yes","no","private","yes","yes",11,"yes","no",11,12,"6",33,105,"both","yes"
+"958",833,17,5,"other","yes","no",28,"yes","no","private","no","yes",12,"yes","no",11,12,"6",44,117,"both","no"
+"959",192,17,3,"other","yes","no",26,"yes","no","private","yes","yes",11,"yes","no",11,12,"6",37,75,"both","yes"
+"960",730,12,8,"other","yes","no",26,"yes","no","private","no","yes",10,"yes","no",12,12,"3",23,87,"both","no"
+"961",542,10,10,"other","yes","no",26,"yes","no","private","no","yes",9,"yes","no",9,11,"7",23,74,"both","yes"
+"962",823,12,10,"other","no","no",28,"yes","no","private","no","yes",11,"no","no",11,11,"7",45,91,"both","yes"
+"963",438,12,8,"other","yes","yes",26,"yes","no","private","no","yes",10,"no","no",11,11,"7",38,90,"both","yes"
+"964",735,14,4,"other","yes","yes",24,"yes","no","private","no","yes",8,"no","no",11,11,"7",27,NA,"both","yes"
+"965",427,16,2,"other","yes","no",24,"yes","no","private","no","no",9,"no","no",14,12,"2",31,112,"both","yes"
+"966",340,12,12,"other","no","no",30,"yes","no","private","no","yes",12,"no","no",11,12,"6",38,90,"both","yes"
+"967",481,13,15,"other","yes","yes",34,"yes","no","private","no","yes",13,"no","no",14,11,"5",29,130,"both","yes"
+"968",817,16,10,"other","yes","no",32,"yes","no","private","no","yes",15,"no","no",10,12,"6",51,108,"both","yes"
+"969",500,12,10,"other","no","no",28,"yes","no","private","no","yes",10,"no","no",12,12,"3",34,86,"both","yes"
+"970",543,12,7,"afam","yes","no",25,"yes","no","private","no","yes",9,"no","no",9.9399995803833,10.25,"9",30,101,"other","no"
+"971",447,16,4,"other","yes","no",26,"yes","no","private","no","yes",11,"no","no",9.9399995803833,11,"9",37,125,"singlemom","no"
+"972",217,15,4,"other","no","no",25,"yes","no","private","no","yes",9,"no","no",9.9399995803833,11,"9",24,94,"step","yes"
+"973",275,8,12,"other","yes","no",26,"yes","no","private","no","yes",7,"yes","no",3,6,"8",18,NA,"step","no"
+"974",352,15,3,"afam","yes","no",24,"yes","no","private","yes","no",9,"yes","no",8,10,"8",22,109,"both","no"
+"975",721,12,11,"other","no","no",29,"yes","no","private","no","yes",12,"no","no",8,10,"8",31,98,"both","no"
+"976",1008,12,9,"other","no","no",27,"yes","no","private","no","yes",11,"no","no",3,8,"8",36,NA,"both","yes"
+"977",654,17,6,"other","yes","no",29,"yes","no","private","yes","yes",13,"no","no",8,12,"6",36,114,"both","no"
+"978",803,16,4,"other","yes","no",26,"yes","no","private","no","yes",11,"yes","no",9.9399995803833,16,"4",27,125,"both","yes"
+"979",570,12,9,"other","yes","no",27,"yes","no","private","no","yes",11,"yes","no",8,12,"6",28,100,"both","yes"
+"980",600,16,3,"other","yes","no",25,"yes","no","private","no","yes",10,"yes","no",12,12,"3",29,104,"both","yes"
+"981",645,12,6,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",9.9399995803833,10.25,"9",35,NA,"step","yes"
+"982",450,13,7,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",14,10,"5",35,112,"both","yes"
+"983",445,13,7,"other","yes","yes",26,"yes","no","public","no","no",10,"yes","no",9.9399995803833,2,"9",27,100,"both","no"
+"984",590,15,8,"other","no","no",29,"yes","no","public","no","yes",13,"yes","no",12,11,"5",37,104,"both","yes"
+"985",721,14,5,"other","yes","no",25,"yes","no","public","no","yes",10,"yes","no",8,12,"6",35,97,"both","yes"
+"986",693,12,14,"other","yes","no",32,"yes","no","private","no","yes",12,"yes","no",8,8,"8",33,120,"both","yes"
+"987",529,13,7,"other","yes","yes",26,"yes","no","private","no","no",11,"yes","no",8,8,"8",38,134,"both","yes"
+"988",470,9,15,"other","yes","no",30,"yes","no","private","no","yes",9,"yes","no",8,8,"8",28,92,"both","no"
+"989",481,16,4,"other","yes","no",26,"yes","no","private","no","yes",10,"yes","no",16,13,"1",34,129,"both","yes"
+"990",462,16,3,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",16,13,"1",31,122,"both","yes"
+"991",554,17,10,"other","yes","no",33,"yes","no","private","yes","yes",16,"yes","no",6,9,"8",45,NA,"both","yes"
+"992",865,14,12,"other","yes","no",32,"yes","no","private","no","no",12,"no","no",12,12,"3",42,118,"both","no"
+"993",713,16,8,"other","no","no",30,"yes","no","private","no","yes",13,"no","no",9.9399995803833,12,"4",42,101,"singlemom","yes"
+"994",740,12,6,"other","no","no",24,"yes","no","private","no","yes",9,"no","no",9.9399995803833,12,"4",37,107,"singlemom","yes"
+"995",817,14,8,"other","yes","no",28,"yes","no","private","no","no",12,"no","no",9.9399995803833,10,"9",NA,92,"step","yes"
+"996",677,12,16,"other","yes","no",34,"yes","no","private","no","yes",12,"yes","no",11,12,"6",37,92,"both","yes"
+"997",797,16,7,"other","yes","no",29,"yes","no","private","yes","yes",14,"yes","no",12,12,"3",43,121,"both","yes"
+"998",769,13,5,"other","yes","no",24,"yes","no","private","yes","yes",9,"yes","no",13,17,"1",27,102,"both","yes"
+"999",462,16,3,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",12,16,"2",33,118,"both","yes"
+"1000",519,14,4,"other","yes","no",24,"yes","no","private","no","yes",8,"no","no",12,12,"3",28,NA,"both","yes"
+"1001",393,12,7,"other","no","no",25,"yes","no","private","no","yes",9,"no","no",12,10.25,"5",38,100,"both","yes"
+"1002",800,13,13,"other","yes","yes",32,"yes","no","private","no","yes",13,"no","no",9,7,"8",37,92,"both","yes"
+"1003",673,17,4,"other","yes","no",27,"no","yes","none","no","yes",12,"no","no",14,12,"2",38,108,"both","yes"
+"1004",481,16,11,"other","no","no",33,"no","yes","none","yes","yes",16,"no","no",9.9399995803833,10.25,"9",41,121,"both","yes"
+"1005",911,12,14,"other","no","no",32,"no","yes","none","no","yes",12,"no","no",8,12,"6",42,119,"both","yes"
+"1006",481,12,7,"other","no","no",25,"no","yes","none","no","yes",10,"no","no",8,8,"8",33,NA,"both","no"
+"1007",500,11,16,"other","no","no",33,"no","yes","none","no","yes",11,"no","no",8,8,"8",32,NA,"both","no"
+"1008",385,16,2,"other","no","no",24,"no","yes","none","no","yes",9,"no","no",12,12,"3",39,106,"both","yes"
+"1009",436,12,6,"other","yes","no",24,"no","yes","none","no","yes",9,"no","no",12,11,"5",24,98,"both","no"
+"1010",526,12,7,"other","no","no",25,"no","yes","none","no","yes",9,"no","no",7,8,"8",29,109,"both","no"
+"1011",913,14,9,"other","no","no",29,"no","yes","none","no","no",13,"no","no",12,8,"5",37,NA,"both","no"
+"1012",542,16,3,"other","no","no",25,"no","yes","none","no","no",10,"no","no",12,15,"2",28,120,"both","no"
+"1013",769,13,9,"other","no","no",28,"no","yes","none","no","yes",12,"no","no",4,16,"6",36,127,"both","yes"
+"1014",226,12,6,"other","no","no",24,"no","yes","none","no","no",7,"no","no",8,8,"8",26,NA,"both","no"
+"1015",711,18,3,"other","no","no",27,"no","yes","none","no","yes",12,"yes","no",12,12,"3",24,101,"both","yes"
+"1016",346,18,10,"other","no","no",34,"no","no","none","no","yes",12,"no","no",8,8,"8",43,108,"both","no"
+"1017",787,12,14,"other","no","no",32,"no","no","none","no","yes",12,"no","no",8,8,"8",41,91,"both","yes"
+"1018",455,14,6,"other","yes","no",26,"no","no","none","no","yes",11,"no","no",10,12,"6",38,118,"step","yes"
+"1019",460,16,2,"other","yes","no",24,"no","no","none","no","no",8,"no","no",10,12,"6",25,110,"step","yes"
+"1020",277,13,7,"other","no","no",26,"no","no","none","no","yes",11,"no","no",9.9399995803833,14,"4",37,119,"singlemom","yes"
+"1021",808,17,11,"other","yes","no",34,"no","no","none","no","yes",16,"no","no",8,12,"6",43,103,"both","yes"
+"1022",624,14,7,"other","no","no",27,"no","no","none","no","yes",12,"no","no",12,14,"2",33,103,"both","yes"
+"1023",697,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"no","no",8,12,"6",40,104,"both","yes"
+"1024",378,14,6,"other","no","no",26,"no","no","none","no","yes",10,"no","no",8,12,"6",32,108,"both","yes"
+"1025",473,12,6,"other","no","no",24,"no","no","none","no","yes",9,"no","no",8,12,"6",33,118,"both","no"
+"1026",425,12,6,"other","no","no",24,"no","no","none","no","yes",9,"no","no",8,12,"6",21,98,"both","no"
+"1027",649,16,2,"other","no","no",24,"no","no","none","no","yes",9,"no","no",8,12,"6",25,120,"both","yes"
+"1028",491,15,4,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",12,15,"2",25,144,"both","yes"
+"1029",924,18,2,"other","no","no",26,"no","no","none","no","no",12,"no","no",12,16,"2",25,NA,"step","yes"
+"1030",350,12,6,"other","no","no",24,"no","no","none","no","yes",9,"no","no",12,10,"5",38,NA,"both","no"
+"1031",600,13,6,"other","no","no",25,"no","no","none","no","yes",9,"no","no",13,12,"2",27,NA,"both","no"
+"1032",429,9,16,"other","no","no",31,"no","no","none","no","yes",9,"no","no",3,7,"8",30,NA,"both","no"
+"1033",500,12,8,"other","no","no",26,"no","no","none","no","yes",9,"no","no",2,7,"8",20,100,"both","no"
+"1034",500,9,9,"other","no","no",24,"no","no","none","no","no",8,"no","no",2,7,"8",12,NA,"both","no"
+"1035",350,8,20,"other","no","no",34,"no","no","none","no","yes",8,"no","no",8,8,"8",39,NA,"both","no"
+"1036",370,14,7,"other","no","no",27,"no","no","none","no","yes",11,"no","no",8,10,"8",32,86,"both","yes"
+"1037",380,16,2,"other","no","no",24,"no","no","none","no","yes",8,"no","no",8,12,"6",21,NA,"both","yes"
+"1038",250,14,5,"other","no","no",25,"no","no","none","no","yes",9,"no","no",9,12,"6",30,NA,"both","yes"
+"1039",506,18,6,"other","yes","no",30,"no","no","none","no","yes",15,"yes","no",6,8,"8",40,122,"both","yes"
+"1040",619,12,9,"other","yes","no",27,"no","no","none","yes","yes",10,"no","no",12,13,"2",35,98,"both","yes"
+"1041",381,16,2,"other","no","no",24,"no","no","none","yes","yes",8,"no","no",12,13,"2",28,NA,"both","yes"
+"1042",361,12,12,"other","no","no",30,"no","no","none","no","yes",12,"no","no",9.9399995803833,13,"4",37,101,"both","yes"
+"1043",588,12,10,"other","yes","no",28,"no","no","none","no","yes",12,"no","no",9.9399995803833,8,"9",33,117,"singlemom","yes"
+"1044",350,12,6,"other","yes","no",24,"no","no","none","no","yes",9,"no","no",9.9399995803833,8,"9",35,119,"singlemom","yes"
+"1045",484,12,14,"other","yes","no",32,"no","no","none","no","yes",12,"yes","no",8,12,"6",37,105,"both","yes"
+"1046",835,11,17,"other","no","no",34,"no","no","none","no","yes",11,"no","no",6,9,"8",37,104,"both","no"
+"1047",535,10,13,"other","yes","no",29,"no","no","none","no","yes",8,"no","no",8,12,"6",22,NA,"both","yes"
+"1048",385,17,5,"other","no","no",28,"yes","no","public","no","no",13,"no","no",9.9399995803833,12,"4",46,111,"other","yes"
+"1049",450,11,8,"other","no","no",25,"yes","no","public","no","no",10,"no","no",8,8,"8",22,96,"both","yes"
+"1050",491,16,6,"other","no","no",28,"yes","no","public","no","yes",13,"no","no",12,8,"5",29,94,"both","yes"
+"1051",914,12,6,"other","no","no",24,"yes","no","public","no","yes",8,"no","no",9.9399995803833,10,"9",41,NA,"singlemom","yes"
+"1052",831,18,8,"other","yes","no",32,"yes","no","public","no","yes",17,"no","no",8,12,"6",36,101,"both","no"
+"1053",434,12,12,"other","no","no",30,"yes","no","public","no","yes",12,"no","no",8,8,"8",36,83,"both","yes"
+"1054",700,12,8,"other","no","no",26,"yes","no","public","no","yes",11,"no","no",8,8,"8",34,112,"both","yes"
+"1055",542,10,10,"other","no","no",26,"yes","no","public","no","yes",9,"no","no",8,8,"8",28,93,"both","no"
+"1056",231,16,2,"other","no","no",24,"yes","no","public","no","no",8,"no","no",12,13,"2",27,NA,"both","yes"
+"1057",395,12,16,"other","no","no",34,"no","no","none","no","yes",12,"no","no",12,9,"5",42,105,"both","no"
+"1058",721,12,7,"other","yes","no",25,"no","no","none","no","yes",10,"no","no",9.9399995803833,10.25,"9",37,115,"other","yes"
+"1059",1187,12,7,"other","no","no",25,"no","no","none","no","no",10,"no","no",8,15,"6",24,105,"both","no"
+"1060",501,12,7,"other","yes","no",25,"no","no","none","no","yes",9,"no","no",8,10,"8",27,88,"both","no"
+"1061",336,16,2,"other","yes","no",24,"yes","no","private","no","no",9,"no","no",16,13,"1",39,122,"both","yes"
+"1062",565,12,14,"other","no","no",32,"yes","no","private","no","yes",12,"no","no",8,8,"8",43,96,"both","no"
+"1063",964,17,11,"other","no","yes",34,"no","no","none","no","yes",17,"yes","no",6,12,"6",42,123,"both","no"
+"1064",1374,12,15,"other","yes","no",33,"no","no","none","no","yes",12,"yes","no",12,12,"3",45,NA,"both","yes"
+"1065",800,12,10,"other","yes","no",28,"no","no","none","no","yes",11,"yes","no",12,12,"3",31,104,"both","yes"
+"1066",609,12,12,"other","yes","no",30,"no","no","none","no","yes",12,"yes","no",7,11,"8",43,108,"both","yes"
+"1067",670,16,3,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",12,12,"3",35,116,"both","yes"
+"1068",445,11,8,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",8,7,"8",26,92,"both","yes"
+"1069",485,13,6,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",10,12,"6",32,102,"both","yes"
+"1070",710,18,8,"other","no","no",32,"no","no","none","no","yes",16,"no","no",12,16,"2",45,109,"both","yes"
+"1071",953,12,14,"other","no","no",32,"no","no","none","no","yes",12,"no","no",9.9399995803833,10.25,"9",43,103,"other","yes"
+"1072",480,11,8,"other","no","no",25,"no","no","none","no","yes",7,"no","no",10,8,"8",22,NA,"both","yes"
+"1073",500,13,8,"other","yes","no",27,"no","no","none","no","yes",11,"yes","no",12,12,"3",39,97,"both","yes"
+"1074",457,16,4,"other","yes","yes",26,"no","no","none","yes","no",11,"no","no",12,12,"3",42,101,"both","yes"
+"1075",721,18,0,"other","no","no",24,"yes","no","private","no","yes",9,"no","no",18,12,"2",39,NA,"both","yes"
+"1076",733,12,6,"other","no","no",24,"yes","no","private","no","yes",8,"no","no",9.9399995803833,12,"4",41,NA,"singlemom","yes"
+"1077",330,12,15,"other","no","no",33,"yes","no","private","no","yes",12,"no","no",8,12,"6",31,NA,"both","no"
+"1078",410,12,9,"other","no","no",27,"yes","no","private","no","yes",12,"no","no",8,11,"8",40,98,"both","yes"
+"1079",486,12,9,"other","no","no",27,"yes","no","private","no","yes",10,"no","no",8,8,"8",23,96,"both","yes"
+"1080",962,18,7,"other","yes","yes",31,"yes","no","private","no","yes",16,"no","no",9,13,"6",46,122,"both","no"
+"1081",359,16,2,"other","no","no",24,"yes","no","private","no","yes",9,"no","no",12,12,"3",29,114,"both","no"
+"1082",330,12,6,"other","no","no",24,"no","yes","none","no","no",9,"no","no",9,12,"6",37,100,"both","yes"
+"1083",625,12,10,"other","no","no",28,"no","yes","none","no","yes",12,"no","no",9.9399995803833,10,"9",38,104,"step","yes"
+"1084",495,12,8,"other","no","no",26,"no","yes","none","no","yes",11,"no","no",5,8,"8",35,111,"both","yes"
+"1085",653,12,11,"other","no","no",29,"no","yes","none","no","yes",12,"no","no",12,12,"3",44,110,"step","yes"
+"1086",722,12,9,"other","no","no",27,"no","yes","none","no","yes",10,"no","no",15,12,"2",26,87,"both","yes"
+"1087",704,12,7,"other","no","no",25,"no","yes","none","no","yes",9,"no","no",15,12,"2",34,103,"both","yes"
+"1088",514,9,14,"other","no","no",29,"no","yes","none","no","yes",9,"no","no",1,3,"8",31,NA,"both","no"
+"1089",625,12,13,"other","yes","no",31,"no","yes","none","no","no",12,"no","no",14,12,"2",27,95,"both","yes"
+"1090",622,18,5,"other","no","no",29,"no","yes","none","no","no",13,"no","no",12,15,"2",41,116,"both","yes"
+"1091",427,15,5,"other","yes","no",26,"no","yes","none","no","yes",10,"no","no",12,15,"2",31,109,"both","yes"
+"1092",653,12,11,"other","no","no",29,"no","yes","none","no","yes",12,"no","no",12,12,"3",36,104,"both","no"
+"1093",643,12,12,"other","no","no",30,"no","yes","none","no","yes",12,"no","no",12,12,"3",38,104,"both","no"
+"1094",575,12,16,"other","yes","no",34,"no","yes","none","no","yes",12,"no","no",12,12,"3",37,110,"both","no"
+"1095",313,13,15,"other","no","yes",34,"no","yes","none","yes","yes",12,"no","no",9.9399995803833,10.25,"9",32,100,"step","yes"
+"1096",664,18,0,"other","no","no",24,"no","yes","none","no","yes",9,"no","no",9.9399995803833,16,"4",39,116,"singlemom","yes"
+"1097",555,13,13,"other","no","no",32,"no","yes","none","no","no",13,"no","no",8,13,"6",40,94,"both","yes"
+"1098",300,18,0,"other","yes","no",24,"no","yes","none","no","no",8,"no","no",12,12,"3",44,NA,"both","yes"
+"1099",642,15,7,"other","no","no",28,"no","no","none","no","yes",12,"no","no",12,16,"2",38,115,"both","yes"
+"1100",667,14,8,"other","yes","no",28,"no","no","none","no","yes",12,"yes","no",12,8,"5",45,123,"both","yes"
+"1101",1320,18,4,"other","yes","no",28,"no","no","none","no","yes",13,"yes","no",15,13,"1",47,113,"both","yes"
+"1102",504,12,6,"other","yes","no",24,"no","no","none","no","yes",8,"yes","no",9,9,"7",29,NA,"step","yes"
+"1103",781,16,3,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",12,12,"3",29,106,"both","yes"
+"1104",817,14,5,"other","yes","no",25,"no","no","none","no","no",10,"no","no",12,12,"3",40,114,"both","no"
+"1105",520,12,10,"other","no","no",28,"no","no","none","no","no",11,"no","no",12,6,"5",32,95,"both","yes"
+"1106",577,12,9,"other","no","no",27,"no","no","none","no","yes",10,"no","no",12,6,"5",33,113,"both","yes"
+"1107",375,11,8,"other","no","no",25,"no","no","none","no","yes",7,"no","no",12,6,"5",16,NA,"both","yes"
+"1108",500,12,6,"other","no","no",24,"no","no","none","no","yes",9,"no","no",12,8,"5",32,NA,"both","no"
+"1109",625,16,6,"other","yes","no",28,"no","no","none","no","no",13,"no","no",12,12,"3",48,111,"both","yes"
+"1110",684,16,12,"other","no","no",34,"no","no","none","no","yes",16,"no","no",9.9399995803833,10.25,"9",35,110,"both","yes"
+"1111",470,14,6,"other","no","no",26,"no","no","none","no","yes",11,"no","no",12,12,"3",31,100,"both","yes"
+"1112",628,13,8,"other","no","no",27,"no","no","none","no","yes",12,"no","no",12,12,"3",39,95,"both","yes"
+"1113",525,13,5,"other","no","no",24,"no","no","none","no","no",7,"no","no",12,8,"5",20,NA,"both","yes"
+"1114",554,12,14,"other","no","no",32,"no","no","none","no","yes",12,"no","no",8,8,"8",34,100,"both","no"
+"1115",641,16,3,"other","yes","no",25,"yes","yes","private","no","no",9,"yes","no",12,12,"3",36,130,"both","yes"
+"1116",513,13,15,"other","yes","no",34,"yes","yes","private","no","yes",12,"yes","no",8,12,"6",36,98,"both","no"
+"1117",604,12,9,"other","yes","no",27,"yes","yes","private","no","yes",12,"yes","no",12,12,"3",36,103,"both","yes"
+"1118",700,13,14,"other","yes","no",33,"yes","yes","private","no","yes",13,"yes","no",8,15,"6",39,108,"both","no"
+"1119",606,12,15,"other","yes","no",33,"yes","yes","private","no","yes",12,"yes","no",8,12,"6",38,NA,"both","yes"
+"1120",1021,12,15,"other","yes","no",33,"yes","yes","private","no","yes",12,"yes","no",9.9399995803833,12,"4",47,101,"singlemom","yes"
+"1121",714,12,13,"other","yes","no",31,"yes","yes","private","no","no",12,"yes","no",16,12,"2",43,90,"both","yes"
+"1122",500,12,10,"other","yes","no",28,"yes","yes","private","no","yes",9,"yes","no",8,8,"8",34,79,"both","yes"
+"1123",583,12,10,"other","yes","no",28,"yes","yes","private","no","yes",12,"yes","no",14,8,"5",47,94,"both","yes"
+"1124",706,12,13,"other","yes","no",31,"yes","yes","private","no","yes",12,"yes","no",5,8,"8",41,115,"both","no"
+"1125",520,16,8,"other","no","no",30,"yes","yes","public","yes","yes",14,"no","no",11,12,"6",39,118,"both","yes"
+"1126",656,16,7,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,10.25,"9",41,114,"both","yes"
+"1127",684,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"no","no",16,14,"1",33,114,"both","yes"
+"1128",276,13,6,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",11,11,"7",33,84,"both","yes"
+"1129",707,13,15,"afam","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",37,92,"both","yes"
+"1130",788,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",8,11,"8",42,107,"both","yes"
+"1131",1319,18,7,"other","yes","no",31,"yes","yes","public","no","yes",15,"yes","no",18,12,"2",44,137,"both","yes"
+"1132",404,14,8,"other","yes","no",28,"yes","yes","public","no","no",11,"yes","no",9,8,"8",33,129,"both","no"
+"1133",300,16,3,"other","yes","no",25,"yes","yes","public","yes","yes",10,"yes","no",12,12,"3",41,101,"both","yes"
+"1134",673,12,8,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",12,12,"3",40,98,"both","yes"
+"1135",722,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,8,"9",41,108,"both","no"
+"1136",769,16,4,"other","no","no",26,"yes","yes","public","no","yes",10,"yes","no",8,2,"8",37,114,"both","no"
+"1137",760,16,8,"other","no","no",30,"yes","no","public","no","yes",14,"no","no",6,12,"6",37,110,"both","yes"
+"1138",434,18,6,"other","no","no",30,"yes","no","public","no","yes",14,"yes","no",11,12,"6",37,111,"both","yes"
+"1139",1192,13,15,"other","no","no",34,"yes","no","public","no","yes",13,"no","no",12,8,"5",30,99,"both","yes"
+"1140",462,17,8,"other","no","no",31,"yes","no","public","yes","yes",15,"no","no",9.9399995803833,4,"9",39,113,"singlemom","yes"
+"1141",370,12,6,"other","no","no",24,"yes","no","public","no","yes",9,"no","no",12,12,"3",29,101,"both","yes"
+"1142",475,12,12,"other","no","no",30,"yes","no","public","no","no",12,"no","no",12,12,"3",25,99,"both","no"
+"1143",435,12,10,"other","no","no",28,"yes","no","public","no","yes",12,"no","no",12,12,"3",37,101,"both","no"
+"1144",332,12,8,"other","no","no",26,"yes","no","public","no","no",11,"no","no",8,12,"6",24,75,"both","yes"
+"1145",640,16,9,"other","yes","no",31,"yes","no","public","no","no",15,"no","no",12,12,"3",49,102,"both","yes"
+"1146",505,12,16,"other","no","no",34,"yes","no","public","no","yes",12,"no","no",9.9399995803833,6,"9",29,91,"step","no"
+"1147",625,16,7,"other","no","no",29,"yes","no","public","no","yes",14,"no","no",10,12,"6",38,113,"both","no"
+"1148",462,12,13,"other","no","no",31,"yes","no","public","no","yes",12,"no","no",9.9399995803833,8,"9",34,120,"both","yes"
+"1149",817,17,4,"other","yes","yes",27,"yes","yes","public","no","yes",12,"yes","no",16,16,"1",42,134,"both","yes"
+"1150",433,17,1,"other","yes","no",24,"yes","yes","public","yes","yes",9,"yes","no",9.9399995803833,13,"4",26,105,"both","yes"
+"1151",641,14,5,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",15,12,"2",32,98,"both","yes"
+"1152",225,15,4,"other","no","no",25,"yes","yes","public","yes","no",9,"yes","no",15,12,"2",28,107,"both","yes"
+"1153",721,15,13,"afam","yes","no",34,"yes","yes","public","yes","yes",12,"yes","no",9.9399995803833,14,"4",39,110,"step","yes"
+"1154",722,16,4,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",12,12,"3",30,101,"both","yes"
+"1155",817,16,7,"other","yes","no",29,"yes","yes","public","no","yes",14,"yes","no",16,16,"1",31,107,"both","yes"
+"1156",664,16,5,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",16,13,"1",43,115,"both","yes"
+"1157",897,18,4,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",39,121,"other","yes"
+"1158",793,11,17,"other","yes","no",34,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,10.25,"9",40,115,"both","yes"
+"1159",539,15,10,"other","yes","no",31,"yes","yes","public","no","yes",14,"yes","no",10,12,"6",42,134,"both","yes"
+"1160",897,11,10,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",10,12,"6",39,NA,"both","yes"
+"1161",721,15,9,"other","yes","no",30,"yes","yes","public","no","yes",14,"yes","no",13,12,"2",52,105,"both","yes"
+"1162",925,13,5,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",12,12,"3",28,97,"both","yes"
+"1163",508,12,10,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",8,10,"8",38,108,"both","yes"
+"1164",929,16,10,"other","yes","no",32,"yes","yes","public","no","no",16,"yes","no",8,10,"8",45,113,"both","yes"
+"1165",705,17,10,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","no",9.9399995803833,10.25,"9",47,96,"both","yes"
+"1166",865,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,5,"9",39,NA,"singlemom","yes"
+"1167",520,16,2,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",41,137,"both","yes"
+"1168",417,12,6,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",10,8,"8",30,NA,"both","yes"
+"1169",266,15,5,"other","yes","no",26,"yes","yes","public","yes","no",11,"yes","no",10,10,"7",37,NA,"both","yes"
+"1170",625,15,3,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",16,14,"1",30,NA,"both","yes"
+"1171",940,12,13,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",34,110,"both","yes"
+"1172",766,16,3,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",16,12,"2",38,120,"both","yes"
+"1173",801,9,14,"other","yes","no",29,"yes","yes","public","no","yes",8,"yes","no",10,12,"6",26,NA,"both","yes"
+"1174",707,15,7,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",10,12,"6",36,105,"both","yes"
+"1175",684,12,12,"other","yes","no",30,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,10,"9",40,121,"singlemom","yes"
+"1176",417,16,4,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",9,12,"6",29,113,"both","yes"
+"1177",600,18,5,"other","yes","no",29,"yes","yes","public","no","no",14,"no","no",8,12,"6",41,113,"both","no"
+"1178",682,15,4,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,13,"4",37,101,"step","no"
+"1179",918,18,7,"other","no","no",31,"yes","yes","public","no","yes",15,"no","no",12,9,"5",41,104,"both","yes"
+"1180",738,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",37,96,"other","yes"
+"1181",1167,12,10,"other","yes","no",28,"yes","yes","public","yes","no",11,"yes","no",10,12,"6",32,92,"both","yes"
+"1182",765,11,12,"other","yes","no",29,"yes","yes","public","no","yes",11,"yes","no",10,10,"7",23,80,"both","no"
+"1183",962,12,8,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",10,10,"7",28,117,"both","no"
+"1184",300,18,3,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",12,12,"3",44,134,"both","yes"
+"1185",658,16,2,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",12,12,"3",42,126,"both","yes"
+"1186",462,12,8,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",8,8,"8",25,95,"both","yes"
+"1187",721,12,6,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",8,8,"8",18,102,"both","yes"
+"1188",865,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",8,12,"6",36,NA,"both","no"
+"1189",596,11,7,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",7,5,"8",22,NA,"both","yes"
+"1190",909,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",8,10,"8",42,112,"both","yes"
+"1191",1049,12,11,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",8,10,"8",45,NA,"both","yes"
+"1192",455,13,15,"other","yes","yes",34,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,10.25,"9",47,104,"both","yes"
+"1193",675,12,9,"afam","no","yes",27,"yes","yes","private","no","no",12,"yes","no",9.9399995803833,10.25,"9",32,81,"both","yes"
+"1194",721,12,6,"afam","yes","no",24,"yes","yes","private","no","no",9,"yes","no",9.9399995803833,10.25,"9",20,70,"both","yes"
+"1195",600,7,20,"afam","yes","no",33,"yes","yes","private","no","yes",7,"yes","no",8,8,"8",NA,NA,"both","yes"
+"1196",925,12,10,"afam","yes","no",28,"yes","yes","private","no","no",11,"yes","no",8,8,"8",18,70,"both","yes"
+"1197",750,12,10,"other","yes","no",28,"yes","yes","private","no","yes",11,"yes","no",6,6,"8",20,83,"both","yes"
+"1198",563,12,10,"other","yes","no",28,"yes","yes","private","no","yes",10,"yes","no",6,6,"8",13,84,"both","yes"
+"1199",625,14,6,"other","yes","no",26,"yes","yes","private","no","yes",10,"yes","no",12,10,"5",25,104,"both","no"
+"1200",300,10,13,"other","no","no",29,"yes","yes","private","no","yes",10,"yes","no",9.9399995803833,10.25,"9",30,82,"singlemom","yes"
+"1201",1380,12,9,"other","no","no",27,"yes","yes","private","no","yes",11,"yes","no",8,12,"6",32,109,"both","yes"
+"1202",470,14,5,"other","yes","no",25,"yes","yes","private","no","yes",9,"yes","no",12,12,"3",25,111,"both","yes"
+"1203",788,12,10,"other","yes","no",28,"yes","yes","private","no","yes",12,"yes","no",12,12,"3",37,97,"both","yes"
+"1204",230,16,3,"other","yes","no",25,"yes","yes","private","yes","yes",9,"yes","no",8,12,"6",33,120,"both","yes"
+"1205",389,10,11,"other","no","no",27,"no","no","none","no","no",8,"no","no",12,12,"3",34,NA,"both","yes"
+"1206",315,12,15,"other","yes","no",33,"no","no","none","no","yes",12,"no","no",7,12,"6",33,94,"both","no"
+"1207",355,17,6,"other","yes","no",29,"no","no","none","yes","yes",14,"no","no",3,5,"8",46,116,"both","yes"
+"1208",500,8,12,"other","yes","no",26,"no","no","none","no","yes",8,"no","no",5,8,"8",25,NA,"both","no"
+"1209",650,11,16,"other","no","no",33,"no","no","none","no","yes",10,"no","no",8,11,"8",30,NA,"both","no"
+"1210",815,12,9,"other","yes","no",27,"no","no","none","no","no",11,"no","no",8,11,"8",29,NA,"both","yes"
+"1211",649,13,7,"other","no","no",26,"no","no","none","no","no",11,"no","no",13,12,"2",33,101,"both","yes"
+"1212",435,12,11,"other","yes","no",29,"no","no","none","no","yes",12,"no","no",9,10.25,"9",36,98,"step","no"
+"1213",600,11,10,"other","no","no",27,"no","yes","none","no","yes",10,"no","no",10,15,"6",32,110,"both","no"
+"1214",206,13,7,"other","yes","yes",26,"no","yes","none","no","yes",11,"no","no",16,14,"1",42,131,"both","yes"
+"1215",481,12,9,"other","yes","yes",27,"no","yes","none","no","yes",12,"yes","no",12,11,"5",46,122,"both","yes"
+"1216",485,13,5,"other","yes","yes",24,"no","yes","none","no","no",9,"yes","no",12,10,"5",33,88,"both","yes"
+"1217",759,18,5,"other","yes","no",29,"no","yes","none","no","yes",14,"yes","no",12,12,"3",39,111,"both","no"
+"1218",995,12,8,"other","yes","no",26,"no","yes","none","no","yes",10,"yes","no",12,12,"3",35,90,"both","no"
+"1219",1167,12,11,"other","yes","no",29,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,10.25,"9",41,NA,"other","yes"
+"1220",314,16,3,"other","yes","no",25,"yes","no","private","no","yes",10,"yes","no",12,12,"3",38,120,"both","yes"
+"1221",915,13,6,"other","yes","no",25,"yes","yes","private","no","no",8,"yes","no",14,12,"2",25,NA,"both","yes"
+"1222",664,13,7,"other","yes","no",26,"yes","yes","private","yes","yes",10,"yes","no",16,12,"2",35,NA,"both","yes"
+"1223",783,12,11,"other","yes","no",29,"yes","yes","private","no","no",12,"yes","no",9.9399995803833,8,"9",29,108,"step","yes"
+"1224",650,13,13,"other","yes","no",32,"yes","yes","private","no","yes",13,"yes","no",8,12,"6",43,99,"both","yes"
+"1225",267,9,12,"other","yes","yes",27,"yes","no","private","no","yes",8,"yes","no",12,6,"5",36,NA,"both","no"
+"1226",355,8,19,"other","no","no",33,"yes","no","private","no","yes",8,"yes","no",8,8,"8",NA,NA,"both","no"
+"1227",440,8,19,"other","no","no",33,"yes","no","private","no","yes",8,"yes","no",9.9399995803833,10.25,"9",34,NA,"other","no"
+"1228",475,11,13,"other","yes","no",30,"yes","no","private","no","yes",11,"yes","no",6,12,"6",31,80,"both","no"
+"1229",726,11,15,"other","yes","no",32,"yes","no","private","no","yes",11,"yes","no",5,10,"8",45,93,"both","yes"
+"1230",721,16,6,"other","yes","no",28,"yes","no","private","no","yes",12,"yes","no",17,12,"2",42,96,"singlemom","yes"
+"1231",563,12,16,"other","yes","no",34,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,10.25,"9",46,85,"other","no"
+"1232",600,12,8,"other","yes","no",26,"yes","no","private","no","yes",11,"yes","no",12,13,"2",32,108,"both","yes"
+"1233",692,15,4,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",13,12,"2",36,110,"both","yes"
+"1234",423,15,7,"other","yes","no",28,"yes","no","private","no","no",12,"yes","no",10,11,"7",43,118,"both","yes"
+"1235",786,12,6,"other","yes","no",24,"yes","no","private","no","yes",9,"yes","no",14,10.25,"5",30,102,"both","yes"
+"1236",1202,12,13,"other","yes","no",31,"yes","no","private","no","yes",12,"yes","no",8,12,"6",44,NA,"both","yes"
+"1237",577,16,12,"other","yes","no",34,"yes","no","private","no","no",16,"yes","no",9.9399995803833,18,"4",46,113,"singlemom","yes"
+"1238",635,18,3,"other","no","no",27,"yes","no","private","no","yes",12,"no","no",11,10,"7",37,112,"both","yes"
+"1239",410,12,9,"other","yes","no",27,"yes","no","private","no","yes",11,"yes","no",9.9399995803833,12,"4",31,115,"both","yes"
+"1240",370,16,2,"other","yes","no",24,"yes","no","private","no","yes",9,"yes","no",12,10,"5",30,117,"both","yes"
+"1241",789,16,4,"other","yes","no",26,"yes","no","private","no","yes",11,"yes","no",11,10,"7",28,119,"both","yes"
+"1242",450,17,1,"other","yes","no",24,"yes","no","private","no","yes",8,"yes","no",11,10,"7",32,NA,"both","yes"
+"1243",1251,12,10,"other","yes","no",28,"yes","no","private","no","yes",12,"yes","no",11,12,"6",39,94,"both","yes"
+"1244",808,16,8,"other","yes","no",30,"yes","yes","private","no","yes",14,"yes","no",16,13,"1",42,109,"both","yes"
+"1245",308,16,8,"other","yes","no",30,"yes","yes","private","no","yes",13,"yes","no",8,12,"6",49,107,"both","no"
+"1246",817,12,12,"other","no","no",30,"yes","no","public","no","yes",12,"no","no",12,12,"3",29,NA,"both","yes"
+"1247",673,16,8,"other","yes","no",30,"yes","no","public","no","no",13,"no","no",6,6,"8",38,121,"both","yes"
+"1248",524,12,11,"other","no","no",29,"yes","no","public","yes","yes",12,"no","no",9.9399995803833,10.25,"9",32,90,"both","yes"
+"1249",275,15,9,"other","no","no",30,"yes","no","public","no","yes",13,"no","no",8,9,"8",34,NA,"both","no"
+"1250",423,17,5,"other","no","no",28,"yes","no","public","no","yes",12,"no","no",14,12,"2",32,NA,"both","yes"
+"1251",641,16,6,"other","yes","no",28,"yes","no","public","no","yes",12,"no","no",10,8,"8",38,NA,"both","yes"
+"1252",450,12,10,"other","no","no",28,"yes","no","public","no","no",12,"no","no",9,9,"7",37,121,"both","no"
+"1253",333,12,8,"other","no","no",26,"yes","no","public","no","yes",11,"no","no",6,7,"8",21,89,"both","yes"
+"1254",913,12,14,"other","no","no",32,"yes","no","public","no","yes",12,"no","no",8,12,"6",28,101,"both","no"
+"1255",128,11,10,"other","no","no",27,"yes","no","public","no","no",10,"no","no",8,9,"8",21,68,"both","no"
+"1256",396,16,5,"other","no","no",27,"yes","no","public","no","yes",12,"yes","no",14,12,"2",50,118,"both","yes"
+"1257",475,13,9,"other","yes","no",28,"yes","no","public","yes","yes",11,"no","no",12,12,"3",40,102,"both","yes"
+"1258",450,13,12,"other","no","no",31,"yes","no","public","no","yes",13,"no","no",8,12,"6",38,NA,"both","yes"
+"1259",300,16,2,"other","no","no",24,"yes","no","public","no","yes",9,"no","no",12,12,"3",27,102,"both","yes"
+"1260",462,18,5,"other","yes","no",29,"yes","no","private","no","yes",13,"yes","no",8,12,"6",47,NA,"both","yes"
+"1261",630,12,14,"other","no","no",32,"yes","no","private","no","yes",12,"no","no",7,9,"8",48,109,"both","yes"
+"1262",485,12,15,"other","no","no",33,"yes","no","private","no","yes",12,"no","no",6,4,"8",38,94,"both","no"
+"1263",549,12,12,"other","no","no",30,"yes","no","private","no","yes",12,"no","no",5,6,"8",34,115,"both","yes"
+"1264",372,12,7,"other","no","no",25,"yes","no","private","no","no",10,"no","no",5,6,"8",30,101,"both","yes"
+"1265",641,12,16,"other","no","no",34,"yes","no","private","no","yes",12,"no","no",4,8,"8",41,92,"both","yes"
+"1266",519,12,11,"other","yes","no",29,"yes","no","private","no","yes",12,"no","no",9.9399995803833,8,"9",37,89,"singlemom","no"
+"1267",385,9,11,"other","no","no",26,"yes","no","private","no","no",9,"no","no",5,11,"8",32,71,"both","yes"
+"1268",450,16,7,"other","yes","yes",29,"yes","no","private","no","yes",13,"yes","no",12,8,"5",32,97,"both","yes"
+"1269",315,12,8,"other","no","no",26,"no","no","none","no","yes",11,"no","no",10,12,"6",38,116,"both","yes"
+"1270",731,14,9,"other","no","no",29,"no","no","none","no","yes",11,"no","no",11,12,"6",39,130,"both","yes"
+"1271",325,12,14,"other","no","no",32,"no","no","none","no","yes",8,"no","no",6,12,"6",34,102,"both","yes"
+"1272",616,16,6,"other","yes","no",28,"no","no","none","no","yes",12,"no","no",12,12,"3",38,119,"both","yes"
+"1273",346,15,9,"other","yes","no",30,"no","no","none","no","no",14,"no","no",10,10,"7",45,104,"both","yes"
+"1274",471,13,9,"other","yes","no",28,"no","no","none","no","no",12,"no","no",8,13,"6",42,91,"both","yes"
+"1275",300,12,9,"other","no","no",27,"no","no","none","no","no",12,"no","no",7,8,"8",34,93,"both","no"
+"1276",430,13,5,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",15,10,"5",32,NA,"both","yes"
+"1277",267,12,10,"afam","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,8,"5",37,95,"both","no"
+"1278",230,12,10,"other","yes","no",28,"yes","no","public","no","no",9,"yes","no",13,10,"5",24,74,"step","yes"
+"1279",432,14,4,"other","yes","no",24,"yes","no","public","no","no",9,"yes","no",9.9399995803833,10,"9",24,115,"singlemom","yes"
+"1280",531,12,8,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",12,12,"3",31,89,"both","yes"
+"1281",1100,12,9,"other","yes","no",27,"yes","no","public","no","yes",10,"yes","no",12,11,"5",38,92,"both","yes"
+"1282",588,12,10,"afam","yes","no",28,"yes","no","public","no","yes",12,"yes","no",8,12,"6",25,104,"both","yes"
+"1283",841,18,6,"other","no","no",30,"yes","no","public","no","yes",14,"yes","no",9.9399995803833,15,"4",44,109,"both","yes"
+"1284",641,15,3,"other","yes","no",24,"yes","no","public","no","yes",9,"yes","no",9.9399995803833,10,"9",23,124,"singlemom","yes"
+"1285",962,14,14,"other","yes","no",34,"yes","no","public","no","yes",14,"yes","no",12,12,"3",41,NA,"both","yes"
+"1286",921,13,14,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",11,12,"6",37,NA,"both","no"
+"1287",350,15,6,"other","no","no",27,"no","no","none","no","yes",11,"no","no",9.9399995803833,12,"4",29,94,"both","yes"
+"1288",385,16,2,"other","no","no",24,"no","no","none","no",NA,8,"no","no",12,12,"3",25,NA,"both","yes"
+"1289",618,16,11,"other","no","no",33,"no","no","none","no","yes",16,"no","no",4,12,"6",44,120,"both","yes"
+"1290",470,13,12,"other","yes","no",31,"no","no","none","yes","yes",12,"yes","no",9.9399995803833,10.25,"9",35,103,"both","yes"
+"1291",411,12,9,"other","no","no",27,"no","no","none","no","yes",11,"no","no",12,10.25,"5",31,92,"other","yes"
+"1292",400,12,7,"other","no","no",25,"no","no","none","no","yes",9,"no","no",12,10,"5",24,111,"both","yes"
+"1293",700,11,16,"other","yes","no",33,"no","no","none","no","yes",11,"yes","no",9,8,"8",40,96,"both","no"
+"1294",311,15,6,"other","yes","no",27,"no","no","none","yes","yes",11,"yes","no",12,12,"3",40,103,"both","no"
+"1295",243,14,4,"other","no","yes",24,"no","no","none","no","yes",9,"yes","no",12,12,"3",35,110,"both","yes"
+"1296",248,12,14,"afam","yes","yes",32,"no","no","none","no","no",12,"yes","no",5,7,"8",35,67,"both","no"
+"1297",423,11,13,"afam","yes","no",30,"no","no","none","no","no",11,"yes","no",8,8,"8",26,69,"both","yes"
+"1298",600,11,16,"afam","yes","no",33,"no","no","none","no","no",11,"yes","no",8,8,"8",32,91,"both","yes"
+"1299",700,17,2,"afam","yes","no",25,"no","no","none","no","yes",9,"yes","no",8,4,"8",34,104,"both","yes"
+"1300",300,12,6,"other","yes","no",24,"no","no","none","no","no",9,"yes","no",10,12,"6",36,124,"both","yes"
+"1301",691,12,6,"other","yes","no",24,"no","no","none","no","yes",9,"yes","no",11,12,"6",42,98,"both","no"
+"1302",600,12,12,"other","yes","no",30,"no","no","none","no","yes",12,"yes","no",7,9,"8",48,86,"both","yes"
+"1303",700,12,12,"other","yes","no",30,"no","no","none","no","yes",12,"yes","no",9.9399995803833,12,"4",44,118,"singlemom","yes"
+"1304",275,14,5,"other","no","no",25,"no","no","none","yes","no",9,"yes","no",12,12,"3",NA,98,"both","no"
+"1305",675,9,19,"afam","yes","no",34,"no","no","none","no","yes",9,"yes","no",4,7,"8",23,92,"both","yes"
+"1306",449,17,5,"other","yes","no",28,"no","no","none","yes","yes",13,"yes","no",12,12,"3",40,116,"both","yes"
+"1307",635,16,8,"other","yes","no",30,"no","no","none","no","yes",13,"yes","no",12,12,"3",43,97,"both","yes"
+"1308",1250,14,9,"other","no","no",29,"no","no","none","no","yes",12,"no","no",10,9,"7",44,109,"both","yes"
+"1309",962,18,5,"other","yes","no",29,"no","no","none","no","yes",13,"yes","no",8,18,"6",33,105,"both","yes"
+"1310",490,18,1,"other","no","no",25,"no","no","none","no","no",10,"no","no",10,13,"6",32,99,"step","yes"
+"1311",586,12,6,"other","no","no",24,"no","no","none","no","no",8,"no","no",10,13,"6",28,NA,"step","yes"
+"1312",750,14,13,"other","no","no",33,"no","no","none","no","yes",13,"no","no",9.9399995803833,12,"4",NA,108,"both","yes"
+"1313",326,18,2,"other","no","no",26,"no","no","none","no","no",11,"no","no",12,12,"3",39,100,"step","yes"
+"1314",430,18,5,"other","yes","no",29,"no","no","none","no","yes",13,"yes","no",17,12,"2",35,117,"both","yes"
+"1315",571,12,8,"other","yes","no",26,"no","no","none","no","yes",10,"no","no",12,11,"5",25,101,"both","yes"
+"1316",913,16,6,"other","no","no",28,"no","no","none","no","yes",13,"yes","no",9,12,"6",40,111,"both","yes"
+"1317",577,14,10,"other","no","no",30,"no","no","none","no","yes",14,"no","no",4,10,"8",44,101,"both","yes"
+"1318",433,11,15,"other","no","no",32,"no","no","none","no","yes",11,"yes","no",9.9399995803833,10.25,"9",36,NA,"both","yes"
+"1319",505,12,6,"other","no","no",24,"no","no","none","no","yes",8,"no","no",9,8,"8",21,NA,"both","no"
+"1320",721,18,10,"other","no","no",34,"yes","no","private","no","yes",16,"no","no",9.9399995803833,8,"9",45,92,"both","yes"
+"1321",962,16,11,"other","yes","no",33,"yes","no","private","no","yes",15,"no","no",14,8,"5",38,106,"both","yes"
+"1322",609,12,13,"other","yes","no",31,"yes","no","private","no","no",12,"no","no",13,14,"1",33,NA,"both","no"
+"1323",450,12,7,"other","no","no",25,"yes","no","private","no","yes",9,"no","no",12,12,"3",33,NA,"both","no"
+"1324",625,12,15,"other","no","no",33,"no","yes","none","no","yes",12,"no","no",10,12,"6",37,102,"both","yes"
+"1325",713,14,6,"other","no","no",26,"no","yes","none","no","yes",10,"no","no",10,12,"6",28,115,"both","yes"
+"1326",710,12,6,"other","no","no",24,"no","yes","none","no","yes",9,"no","no",8,10,"8",37,99,"both","yes"
+"1327",913,16,10,"other","yes","no",32,"no","yes","none","no","yes",16,"no","no",10,11,"7",48,118,"both","yes"
+"1328",418,8,10,"other","no","no",24,"no","yes","none","no","yes",7,"no","no",8,8,"8",21,NA,"both","no"
+"1329",692,13,10,"other","no","no",29,"no","no","none","no","yes",13,"yes","no",16,13,"1",37,132,"both","yes"
+"1330",260,12,16,"other","yes","no",34,"no","no","none","no","yes",12,"yes","no",9.9399995803833,10.25,"9",34,NA,"both","no"
+"1331",650,13,7,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",16,12,"2",26,108,"both","yes"
+"1332",610,14,5,"other","yes","no",25,"no","no","none","no","yes",10,"yes","no",16,12,"2",35,103,"both","yes"
+"1333",726,12,11,"other","yes","no",29,"no","no","none","no","no",12,"yes","no",10,14,"6",40,98,"both","yes"
+"1334",767,13,13,"other","yes","no",32,"no","no","none","no","yes",12,"yes","no",11,8,"8",44,111,"both","no"
+"1335",620,12,9,"other","no","no",27,"no","no","none","no","yes",12,"no","no",11,12,"6",29,97,"both","no"
+"1336",721,16,5,"other","yes","no",27,"no","no","none","no","yes",12,"no","no",9.9399995803833,12,"4",33,101,"both","no"
+"1337",516,18,2,"other","yes","no",26,"no","no","none","no","no",10,"no","no",12,14,"2",36,129,"both","yes"
+"1338",400,12,7,"other","no","no",25,"no","no","none","no","no",10,"no","no",11,10,"7",37,85,"both","no"
+"1339",808,14,7,"other","yes","yes",27,"no","no","none","no","yes",11,"no","no",13,13,"1",39,106,"both","yes"
+"1340",460,12,6,"other","no","no",24,"no","no","none","no","no",8,"no","no",7,7,"8",27,NA,"both","no"
+"1341",642,17,9,"other","no","no",32,"no","no","none","no","yes",17,"no","no",18,12,"2",45,120,"both","no"
+"1342",519,12,10,"other","no","no",28,"no","no","none","no","yes",12,"no","no",8,8,"8",28,107,"both","yes"
+"1343",568,12,6,"other","yes","no",24,"no","no","none","no","yes",9,"yes","no",10,12,"6",32,109,"both","no"
+"1344",693,16,2,"other","no","no",24,"no","no","none","no","no",8,"yes","no",10,12,"6",28,NA,"both","yes"
+"1345",978,12,13,"other","yes","no",31,"no","no","none","no","no",12,"yes","no",8,12,"6",49,106,"singlemom","yes"
+"1346",779,12,14,"other","no","no",32,"no","no","none","no","yes",12,"no","no",12,8,"5",34,106,"both","no"
+"1347",443,14,7,"other","yes","no",27,"no","no","none","no","yes",12,"yes","no",8,9,"8",32,95,"both","no"
+"1348",692,16,11,"other","yes","no",33,"no","no","none","no","yes",12,"no","no",9,12,"6",39,105,"both","yes"
+"1349",417,16,4,"other","no","no",26,"no","no","none","no","no",11,"no","no",12,12,"3",44,131,"both","yes"
+"1350",773,11,13,"other","yes","no",30,"no","no","none","no","yes",10,"no","no",8,12,"6",32,93,"both","no"
+"1351",400,15,5,"other","yes","no",26,"no","no","none","no","no",9,"no","no",9.9399995803833,8,"9",33,88,"singlemom","yes"
+"1352",900,12,9,"other","yes","no",27,"no","no","none","no","yes",12,"yes","no",9.9399995803833,11,"9",38,100,"singlemom","no"
+"1353",700,16,9,"other","no","no",31,"no","no","none","no","yes",12,"no","no",12,8,"5",32,107,"both","yes"
+"1354",485,16,2,"other","no","no",24,"no","no","none","no","yes",9,"no","no",8,12,"6",35,104,"both","no"
+"1355",894,16,7,"other","yes","no",29,"no","no","none","no","yes",13,"no","no",8,9,"8",30,107,"both","no"
+"1356",750,18,5,"other","yes","no",29,"no","no","none","no","yes",15,"no","no",9.9399995803833,10.25,"9",42,126,"both","yes"
+"1357",1055,13,14,"other","no","no",33,"no","yes","none","no","yes",13,"no","no",9.9399995803833,8,"9",47,109,"both","yes"
+"1358",933,12,10,"other","no","no",28,"no","yes","none","no","yes",11,"no","no",10,10.25,"9",42,112,"both","yes"
+"1359",568,12,8,"other","no","no",26,"no","yes","none","no","yes",9,"no","no",10,12,"6",22,105,"both","yes"
+"1360",987,16,3,"other","yes","no",25,"no","yes","none","yes","yes",10,"no","no",8,12,"6",36,133,"both","yes"
+"1361",769,16,2,"other","yes","no",24,"no","yes","none","no","yes",8,"no","no",8,12,"6",36,NA,"both","yes"
+"1362",648,12,9,"other","no","no",27,"no","yes","none","yes","yes",12,"no","no",8,12,"6",33,114,"both","no"
+"1363",449,16,8,"other","no","no",30,"no","yes","none","no","no",14,"no","no",12,14,"2",38,99,"both","no"
+"1364",580,12,9,"other","no","no",27,"no","yes","none","no","yes",12,"no","no",10,12,"6",25,114,"both","no"
+"1365",550,8,19,"other","no","no",33,"no","yes","none","no","yes",7,"no","no",7,10,"8",34,NA,"both","no"
+"1366",800,12,11,"other","yes","no",29,"no","no","none","no","yes",12,"yes","no",9,12,"6",35,123,"both","yes"
+"1367",160,12,6,"other","yes","no",24,"no","no","none","no","no",9,"yes","no",12,12,"3",34,83,"step","yes"
+"1368",462,17,5,"other","yes","no",28,"no","no","none","no","yes",13,"yes","no",16,17,"1",42,NA,"both","yes"
+"1369",425,14,5,"other","yes","no",25,"no","no","none","no","yes",9,"yes","no",12,12,"3",46,NA,"both","yes"
+"1370",600,8,18,"other","yes","no",32,"no","no","none","no","yes",8,"yes","no",8,12,"6",39,NA,"both","no"
+"1371",866,17,3,"other","yes","no",26,"no","no","none","no","no",10,"yes","no",12,12,"3",37,127,"both","yes"
+"1372",683,12,10,"other","yes","no",28,"no","no","none","no","yes",12,"yes","no",9.9399995803833,10,"9",49,87,"both","yes"
+"1373",1115,12,9,"other","yes","no",27,"no","no","none","no","yes",11,"yes","no",12,11,"5",48,100,"both","yes"
+"1374",1100,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",12,11,"5",48,104,"both","yes"
+"1375",286,12,6,"other","no","no",24,"no","no","none","no","yes",9,"yes","no",12,11,"5",49,106,"both","yes"
+"1376",513,14,8,"other","yes","no",28,"no","no","none","no","yes",13,"yes","no",12,12,"3",46,127,"both","yes"
+"1377",650,13,7,"other","yes","no",26,"no","no","none","yes","yes",11,"yes","no",12,12,"3",52,109,"both","yes"
+"1378",1039,12,13,"other","yes","no",31,"no","no","none","no","yes",12,"yes","no",12,9,"5",48,85,"both","yes"
+"1379",700,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",12,9,"5",46,93,"both","yes"
+"1380",315,18,7,"other","yes","no",31,"yes","no","public","no","no",15,"no","no",12,12,"3",30,NA,"both","yes"
+"1381",310,12,15,"other","no","no",33,"yes","no","public","no","yes",10,"no","no",7,8,"8",40,100,"both","yes"
+"1382",335,11,10,"other","no","no",27,"yes","no","public","no","yes",11,"no","no",9.9399995803833,10.25,"9",37,NA,"other","no"
+"1383",518,11,8,"other","no","no",25,"yes","no","public","no","yes",9,"no","no",9.9399995803833,10.25,"9",20,71,"other","no"
+"1384",709,16,6,"other","yes","no",28,"yes","no","public","no","no",13,"no","no",12,12,"3",36,88,"both","no"
+"1385",623,12,7,"other","no","no",25,"yes","no","public","no","yes",9,"no","no",8,12,"6",32,93,"both","no"
+"1386",298,13,9,"other","no","no",28,"yes","no","public","no","yes",12,"no","no",8,12,"6",26,98,"both","no"
+"1387",625,14,4,"other","yes","no",24,"yes","no","public","no","yes",9,"no","no",10,12,"6",35,110,"both","yes"
+"1388",769,16,7,"other","yes","no",29,"yes","no","public","no","yes",14,"no","no",8,12,"6",37,113,"both","no"
+"1389",459,16,6,"other","yes","no",28,"yes","no","public","no","no",14,"no","no",8,8,"8",40,136,"both","yes"
+"1390",550,12,13,"other","no","no",31,"yes","yes","public","no","yes",12,"no","no",6,10.25,"9",31,109,"both","no"
+"1391",470,14,9,"other","no","no",29,"yes","yes","public","no","yes",13,"no","no",12,11,"5",38,94,"both","yes"
+"1392",396,12,15,"other","no","no",33,"yes","yes","public","no","yes",12,"no","no",8,8,"8",36,77,"both","no"
+"1393",594,14,5,"other","no","no",25,"yes","yes","public","no","yes",10,"no","no",12,12,"3",33,NA,"both","yes"
+"1394",1039,16,6,"other","no","no",28,"yes","yes","public","no","no",13,"no","no",18,15,"1",49,113,"both","yes"
+"1395",400,12,16,"other","yes","no",34,"yes","yes","public","no","yes",9,"no","no",8,8,"8",36,NA,"both","yes"
+"1396",698,12,8,"other","no","no",26,"yes","yes","public","yes","yes",11,"no","no",11,12,"6",34,125,"both",NA
+"1397",713,16,4,"other","no","yes",26,"yes","yes","public","no","yes",10,"no","no",8,13,"6",27,106,"both","yes"
+"1398",550,12,6,"other","no","no",24,"yes","yes","public","no","yes",8,"no","no",8,11,"8",33,NA,"both","yes"
+"1399",333,14,7,"other","no","no",27,"yes","yes","public","no","yes",12,"no","no",8,14,"6",37,108,"both","yes"
+"1400",1058,12,11,"other","yes","no",29,"yes","no","public","no","yes",12,"yes","no",12,12,"3",29,NA,"both","no"
+"1401",590,11,13,"other","yes","no",30,"yes","no","public","no","yes",10,"yes","no",9.9399995803833,10.25,"9",35,89,"both","no"
+"1402",633,12,6,"other","yes","no",24,"yes","no","public","no","yes",9,"yes","no",9.9399995803833,10.25,"9",39,NA,"both","yes"
+"1403",500,10,10,"other","yes","no",26,"yes","no","public","no","no",10,"yes","no",9.9399995803833,10.25,"9",24,84,"both","yes"
+"1404",788,14,8,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",12,12,"3",37,NA,"both","yes"
+"1405",832,18,7,"other","yes","no",31,"yes","no","public","no","yes",15,"yes","no",13,12,"2",50,NA,"both","yes"
+"1406",539,12,8,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",6,12,"6",44,102,"both","no"
+"1407",577,18,4,"other","yes","no",28,"yes","no","private","no","yes",12,"no","yes",8,12,"6",44,106,"both","yes"
+"1408",808,14,10,"other","yes","no",30,"yes","no","private","no","yes",12,"yes","yes",12,12,"3",40,102,"both","yes"
+"1409",722,14,10,"other","yes","no",30,"yes","no","private","no","yes",14,"yes","yes",14,16,"1",49,113,"both","yes"
+"1410",600,12,8,"other","yes","yes",26,"yes","no","private","no","yes",10,"yes","yes",12,12,"3",26,96,"both","yes"
+"1411",452,10,12,"other","yes","yes",28,"yes","no","private","no","yes",10,"yes","yes",8,6,"8",22,NA,"both","no"
+"1412",300,7,14,"other","yes","yes",27,"yes","no","private","no","yes",7,"yes","yes",4,8,"8",30,NA,"both","no"
+"1413",393,12,8,"afam","yes","yes",26,"yes","no","private","no","no",7,"yes","yes",9.9399995803833,10,"9",24,NA,"singlemom","no"
+"1414",200,12,8,"afam","yes","yes",26,"yes","yes","private","no","no",6,"yes","yes",9.9399995803833,7,"9",NA,NA,"singlemom","no"
+"1415",750,9,18,"other","no","yes",33,"yes","yes","private","no","yes",9,"yes","yes",9.9399995803833,7,"9",51,NA,"both","yes"
+"1416",673,16,4,"other","no","yes",26,"yes","yes","private","no","no",10,"yes","yes",12,12,"3",31,107,"both","yes"
+"1417",989,14,10,"other","yes","yes",30,"yes","yes","private","no","yes",12,"yes","yes",12,14,"2",38,NA,"singlemom","no"
+"1418",880,17,4,"other","yes","yes",27,"yes","yes","private","no","no",12,"yes","yes",12,14,"2",49,110,"both","no"
+"1419",905,13,7,"other","no","yes",26,"yes","yes","private","no","yes",10,"yes","yes",12,12,"3",35,106,"both","yes"
+"1420",250,14,14,"afam","yes","yes",34,"yes","yes","private","no","yes",12,"yes","yes",9.9399995803833,10,"9",37,NA,"singlemom","yes"
+"1421",520,10,12,"other","yes","yes",28,"yes","yes","private","no","yes",10,"yes","yes",5,12,"6",38,103,"both","no"
+"1422",356,12,9,"other","yes","yes",27,"yes","yes","private","no","no",9,"yes","yes",5,12,"6",20,53,"both","no"
+"1423",278,12,6,"other","yes","yes",24,"yes","yes","private","no","yes",9,"yes","yes",5,12,"6",24,103,"both","no"
+"1424",400,12,7,"afam","yes","yes",25,"yes","yes","private","no","no",9,"yes","yes",11,11,"7",16,76,"both","no"
+"1425",273,10,12,"afam","yes","yes",28,"yes","yes","private","no","yes",10,"yes","yes",9.9399995803833,8,"9",36,90,"singlemom","yes"
+"1426",500,11,14,"other","yes","yes",31,"yes","yes","private","no","yes",11,"yes","yes",7,12,"6",31,96,"both","yes"
+"1427",603,11,16,"other","yes","yes",33,"yes","yes","private","no","yes",11,"yes","yes",6,12,"6",35,97,"both","yes"
+"1428",400,12,7,"other","yes","yes",25,"yes","no","public","no","no",8,"yes","yes",9,11,"7",26,NA,"both","yes"
+"1429",475,12,10,"afam","yes","yes",28,"yes","no","public","no","no",12,"yes","yes",9.9399995803833,10,"9",35,87,"singlemom","yes"
+"1430",1100,12,15,"other","yes","yes",33,"yes","no","public","no","yes",12,"yes","yes",9.9399995803833,15,"4",39,89,"both","yes"
+"1431",337,14,6,"other","yes","yes",26,"yes","no","public","yes","no",10,"yes","yes",12,12,"3",44,118,"both","yes"
+"1432",538,11,10,"other","yes","yes",27,"yes","no","public","no","yes",10,"yes","yes",16,12,"2",46,NA,"singlemom","yes"
+"1433",404,13,7,"afam","yes","yes",26,"yes","no","public","no","yes",11,"yes","yes",9.9399995803833,8,"9",28,70,"singlemom","yes"
+"1434",757,16,5,"other","yes","yes",27,"yes","no","public","no","yes",11,"yes","yes",17,16,"1",34,104,"both","yes"
+"1435",554,16,11,"other","yes","yes",33,"yes","no","public","no","yes",15,"yes","yes",18,16,"1",36,113,"both","yes"
+"1436",577,16,7,"other","yes","yes",29,"yes","no","public","no","yes",13,"no","yes",12,11,"5",36,116,"both","yes"
+"1437",432,15,5,"other","yes","yes",26,"yes","no","public","no","yes",11,"yes","yes",12,10,"5",36,114,"both","yes"
+"1438",550,11,12,"other","yes","yes",29,"yes","no","public","no","yes",11,"yes","yes",5,12,"6",33,NA,"both","no"
+"1439",797,16,2,"other","yes","yes",24,"yes","no","public","no","yes",9,"yes","yes",16,12,"2",41,NA,"both","yes"
+"1440",450,14,7,"other","yes","yes",27,"yes","no","public","no","no",11,"yes","yes",16,14,"1",29,116,"both","yes"
+"1441",807,13,10,"other","yes","yes",29,"yes","no","public","no","yes",13,"yes","yes",10,11,"7",43,109,"both","yes"
+"1442",600,13,5,"other","yes","yes",24,"yes","no","public","no","yes",8,"yes","yes",10,11,"7",31,NA,"both","yes"
+"1443",933,13,15,"other","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",6,6,"8",35,NA,"both","yes"
+"1444",481,11,16,"other","no","yes",33,"yes","no","public","no","yes",11,"yes","yes",9.9399995803833,10,"9",29,80,"both","no"
+"1445",623,12,11,"other","yes","yes",29,"yes","yes","public","no","yes",8,"yes","yes",9,8,"8",20,NA,"both","no"
+"1446",328,10,11,"afam","yes","yes",27,"yes","yes","public","no","yes",8,"yes","yes",4,11,"8",14,NA,"both","yes"
+"1447",600,16,4,"other","yes","yes",26,"yes","yes","public","no","yes",11,"yes","yes",6,8,"8",40,116,"both","yes"
+"1448",693,14,7,"afam","yes","yes",27,"yes","yes","public","no","yes",11,"yes","yes",5,8,"8",32,83,"both","yes"
+"1449",923,15,12,"other","yes","yes",33,"yes","yes","public","no","yes",14,"yes","yes",12,12,"3",47,104,"both","yes"
+"1450",721,12,10,"other","yes","yes",28,"yes","yes","public","no","yes",11,"yes","yes",12,12,"3",42,106,"both","yes"
+"1451",540,12,7,"afam","yes","yes",25,"yes","yes","public","no","yes",9,"yes","yes",12,9,"5",26,99,"both","yes"
+"1452",459,13,8,"afam","yes","yes",27,"yes","yes","public","yes","yes",11,"yes","yes",12,9,"5",37,101,"both","no"
+"1453",485,13,8,"afam","yes","yes",27,"yes","yes","public","yes","no",11,"yes","yes",11,11,"7",38,74,"both","yes"
+"1454",350,12,7,"afam","yes","yes",25,"yes","yes","public","no","no",8,"yes","yes",9.9399995803833,11,"9",24,NA,"singlemom","no"
+"1455",200,16,3,"other","yes","yes",25,"yes","yes","public","yes","no",9,"yes","yes",18,16,"1",30,121,"both","yes"
+"1456",520,10,14,"afam","yes","yes",30,"yes","yes","public","no","yes",9,"yes","yes",3,10.25,"9",30,NA,"both","no"
+"1457",250,12,7,"afam","yes","yes",25,"yes","yes","public","no","no",8,"yes","yes",6,12,"6",26,NA,"both","no"
+"1458",504,11,11,"afam","yes","no",28,"yes","yes","public","no","yes",8,"yes","yes",9.9399995803833,10.25,"9",22,NA,"other","no"
+"1459",363,12,10,"afam","yes","yes",28,"yes","yes","public","yes","yes",10,"yes","yes",9,8,"8",21,77,"other","yes"
+"1460",654,11,16,"afam","yes","yes",33,"yes","yes","public","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",23,NA,"other","no"
+"1461",425,12,14,"afam","yes","yes",32,"yes","yes","public","no","yes",12,"yes","yes",5,10.25,"9",24,NA,"both","no"
+"1462",245,12,13,"afam","yes","yes",31,"yes","yes","public","no","no",12,"yes","yes",9.9399995803833,10.25,"9",26,NA,"other","no"
+"1463",250,11,8,"afam","yes","yes",25,"yes","yes","public","no","no",8,"yes","yes",9.9399995803833,8,"9",21,NA,"other","yes"
+"1464",879,13,13,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","yes",0,10.25,"9",40,NA,"other","no"
+"1465",687,12,8,"afam","yes","yes",26,"yes","yes","public","no","yes",11,"yes","yes",6,6,"8",18,93,"both","no"
+"1466",402,11,15,"afam","yes","yes",32,"yes","yes","public","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",26,NA,"other","no"
+"1467",428,12,13,"afam","yes","yes",31,"yes","yes","public","no","no",12,"yes","yes",6,10.25,"9",32,NA,"other","no"
+"1468",325,13,5,"other","yes","yes",24,"yes","yes","public","no","no",9,"yes","yes",10,12,"6",37,114,"both","yes"
+"1469",725,17,4,"other","yes","yes",27,"yes","yes","public","no","no",11,"yes","yes",16,12,"2",40,103,"both","no"
+"1470",780,12,7,"other","yes","yes",25,"yes","yes","public","no","yes",8,"yes","yes",3,8,"8",34,NA,"both","yes"
+"1471",264,14,7,"afam","yes","yes",27,"yes","no","private","no","yes",11,"yes","yes",9.9399995803833,8,"9",38,NA,"singlemom","yes"
+"1472",450,12,14,"afam","yes","yes",32,"yes","no","private","no","no",12,"yes","yes",6,9,"8",43,92,"both","yes"
+"1473",346,14,7,"afam","yes","yes",27,"yes","no","private","no","no",12,"yes","yes",8,8,"8",33,NA,"both","yes"
+"1474",350,13,5,"afam","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",6,3,"8",21,79,"both","yes"
+"1475",400,13,5,"afam","yes","yes",24,"yes","no","private","no","no",9,"yes","yes",10,13,"6",24,NA,"both","yes"
+"1476",980,12,14,"other","yes","yes",32,"yes","no","private","no","yes",12,"yes","yes",2,6,"8",34,92,"both","yes"
+"1477",385,12,11,"afam","yes","yes",29,"yes","no","private","no","yes",12,"yes","yes",9.9399995803833,5,"9",36,NA,"singlemom","yes"
+"1478",344,17,5,"afam","yes","no",28,"yes","no","private","no","no",12,"yes","yes",9.9399995803833,11,"9",35,NA,"singlemom","yes"
+"1479",563,16,3,"afam","yes","yes",25,"yes","no","private","no","no",10,"yes","yes",7,9,"8",NA,99,"both","yes"
+"1480",463,7,16,"other","yes","yes",29,"yes","no","private","no","yes",7,"yes","yes",12,12,"3",28,NA,"both","yes"
+"1481",565,12,10,"afam","yes","yes",28,"yes","no","private","no","no",12,"no","yes",9.9399995803833,10.25,"9",20,NA,"other","no"
+"1482",638,12,9,"afam","yes","yes",27,"yes","no","private","no","yes",9,"yes","yes",5,9,"8",28,NA,"both","yes"
+"1483",462,10,14,"afam","yes","yes",30,"yes","no","private","no","yes",10,"yes","yes",9.9399995803833,5,"9",29,NA,"singlemom","no"
+"1484",670,13,8,"afam","yes","yes",27,"yes","no","private","yes","yes",11,"yes","yes",9.9399995803833,10.25,"9",35,99,"other","yes"
+"1485",404,13,5,"afam","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",9.9399995803833,10.25,"9",26,NA,"other","yes"
+"1486",373,17,2,"afam","yes","yes",25,"yes","no","private","yes","no",9,"yes","yes",11,9,"7",33,116,"both","yes"
+"1487",230,12,6,"afam","yes","yes",24,"yes","no","private","no","no",6,"yes","yes",9.9399995803833,10.25,"9",20,NA,"other","yes"
+"1488",558,12,14,"afam","yes","yes",32,"yes","no","private","no","no",12,"yes","yes",9.9399995803833,10.25,"9",40,NA,"other","no"
+"1489",300,8,15,"afam","yes","yes",29,"yes","no","private","no","yes",8,"yes","yes",6,7,"8",18,NA,"both","no"
+"1490",913,14,9,"other","yes","yes",29,"yes","no","private","no","yes",14,"yes","yes",9.9399995803833,12,"4",40,NA,"singlemom","yes"
+"1491",558,18,3,"other","yes","yes",27,"yes","no","private","no","yes",12,"yes","yes",12,8,"5",41,98,"both","yes"
+"1492",529,13,14,"other","yes","yes",33,"yes","no","private","no","yes",13,"yes","yes",9.9399995803833,12,"4",48,114,"step","yes"
+"1493",330,15,5,"other","yes","yes",26,"yes","no","private","no","no",8,"yes","yes",5,7,"8",45,NA,"both","yes"
+"1494",375,9,11,"other","yes","yes",26,"yes","no","private","no","yes",8,"yes","yes",13,11,"5",28,NA,"both","yes"
+"1495",615,13,5,"other","yes","yes",24,"yes","no","private","no","yes",7,"yes","yes",13,11,"5",25,NA,"both","no"
+"1496",721,14,7,"other","no","yes",27,"yes","no","public","no","yes",11,"yes","yes",12,12,"3",34,119,"both","yes"
+"1497",529,16,3,"other","yes","no",25,"yes","no","public","yes","no",9,"yes","yes",12,12,"3",40,122,"both","yes"
+"1498",859,12,16,"afam","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",6,12,"6",42,77,"both","no"
+"1499",649,14,7,"afam","yes","yes",27,"yes","no","public","no","yes",12,"yes","yes",16,11,"5",35,NA,"both","yes"
+"1500",238,10,8,"afam","yes","yes",24,"yes","no","public","no","yes",8,"yes","yes",16,11,"5",26,NA,"both","yes"
+"1501",275,12,16,"afam","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",8,6,"8",37,95,"both","no"
+"1502",325,14,6,"afam","yes","yes",26,"yes","no","public","no","yes",9,"yes","yes",9.9399995803833,13,"4",24,89,"singlemom","yes"
+"1503",357,14,9,"afam","yes","no",29,"yes","no","public","no","no",13,"yes","yes",9.9399995803833,16,"4",44,93,"singlemom","yes"
+"1504",385,12,12,"afam","yes","yes",30,"yes","no","public","no","yes",8,"yes","yes",9.9399995803833,10,"9",35,NA,"singlemom","no"
+"1505",365,14,4,"other","yes","yes",24,"yes","no","public","no","yes",9,"yes","yes",12,15,"2",25,116,"both","yes"
+"1506",800,8,19,"other","yes","yes",33,"yes","no","public","no","yes",8,"yes","yes",6,4,"8",30,NA,"both","no"
+"1507",482,12,16,"other","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",5,12,"6",37,110,"both","yes"
+"1508",955,17,6,"other","yes","yes",29,"yes","no","public","no","yes",13,"no","yes",12,8,"5",39,132,"both","yes"
+"1509",462,17,3,"other","yes","yes",26,"yes","no","public","no","yes",11,"yes","yes",7,12,"6",32,103,"both","no"
+"1510",417,16,6,"other","no","yes",28,"yes","no","public","no","yes",11,"yes","yes",2,8,"8",37,112,"both","no"
+"1511",290,10,9,"other","yes","yes",25,"yes","no","public","no","yes",9,"yes","yes",2,8,"8",23,NA,"both","no"
+"1512",240,12,6,"other","yes","yes",24,"yes","no","public","no","yes",7,"yes","yes",12,12,"3",36,NA,"step","yes"
+"1513",829,12,13,"afam","yes","yes",31,"yes","no","public","no","yes",12,"yes","yes",9.9399995803833,10.25,"9",30,NA,"other","no"
+"1514",361,12,14,"other","yes","yes",32,"yes","no","public","no","yes",9,"yes","yes",12,12,"3",42,99,"both","yes"
+"1515",598,16,6,"other","no","yes",28,"yes","no","public","no","yes",12,"yes","yes",11,12,"6",46,138,"both","yes"
+"1516",750,13,6,"other","yes","yes",25,"yes","no","public","yes","yes",9,"yes","yes",7,10,"8",29,93,"both","yes"
+"1517",385,16,3,"afam","yes","yes",25,"yes","no","public","no","no",10,"yes","yes",12,11,"5",28,88,"both","no"
+"1518",620,16,6,"afam","yes","yes",28,"yes","no","public","no","yes",10,"yes","yes",9.9399995803833,10,"9",26,96,"singlemom","yes"
+"1519",641,13,15,"other","yes","yes",34,"yes","no","public","no","yes",13,"yes","yes",14,12,"2",45,106,"both","yes"
+"1520",468,16,4,"afam","yes","yes",26,"yes","no","public","no","yes",11,"yes","yes",12,9,"5",33,90,"both","no"
+"1521",385,13,5,"afam","yes","yes",24,"yes","no","public","yes","no",9,"yes","yes",12,9,"5",29,NA,"both","no"
+"1522",462,12,7,"afam","yes","yes",25,"yes","no","public","no","yes",10,"yes","yes",11,12,"6",25,93,"both","no"
+"1523",635,12,9,"other","yes","yes",27,"yes","no","public","no","yes",11,"yes","yes",14,10,"5",32,92,"both","yes"
+"1524",400,12,8,"other","no","no",26,"yes","no","public","no","yes",10,"yes","yes",14,10,"5",22,101,"both","yes"
+"1525",760,13,8,"other","yes","yes",27,"yes","no","public","no","yes",10,"yes","yes",12,10,"5",27,100,"both","yes"
+"1526",560,13,8,"other","yes","yes",27,"yes","no","public","yes","yes",12,"yes","yes",12,10,"5",35,91,"both","yes"
+"1527",1000,12,16,"other","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",3,10.25,"9",48,95,"both","yes"
+"1528",425,11,11,"other","yes","yes",28,"yes","yes","public","no","yes",10,"yes","yes",6,6,"8",24,71,"both","no"
+"1529",411,12,12,"afam","yes","yes",30,"yes","yes","public","no","yes",12,"yes","yes",9.9399995803833,9,"9",28,89,"singlemom","no"
+"1530",179,11,8,"other","yes","yes",25,"yes","yes","public","no","yes",8,"yes","yes",9.9399995803833,3,"9",12,67,"singlemom","yes"
+"1531",375,18,8,"other","yes","yes",32,"yes","yes","public","no","yes",16,"yes","yes",14,12,"2",44,96,"both","no"
+"1532",1298,18,4,"other","yes","yes",28,"yes","yes","public","no","no",13,"yes","yes",16,12,"2",45,127,"both","yes"
+"1533",476,15,9,"afam","yes","no",30,"yes","yes","public","no","yes",13,"yes","yes",8,14,"6",40,NA,"both","yes"
+"1534",775,16,5,"other","yes","yes",27,"yes","yes","public","no","no",11,"yes","yes",8,8,"8",43,114,"both","yes"
+"1535",714,12,9,"other","yes","yes",27,"yes","yes","public","yes","yes",11,"yes","yes",10,10,"7",37,112,"both","yes"
+"1536",429,10,12,"afam","yes","yes",28,"yes","yes","public","no","no",10,"yes","yes",9.9399995803833,9,"9",34,57,"singlemom","no"
+"1537",435,13,5,"afam","yes","yes",24,"yes","yes","public","no","no",8,"yes","yes",10,11,"7",26,NA,"step","yes"
+"1538",875,13,7,"other","yes","yes",26,"yes","yes","public","no","yes",10,"yes","yes",9.9399995803833,7,"9",30,102,"singlemom","yes"
+"1539",424,14,13,"afam","yes","yes",33,"yes","yes","public","no","no",14,"yes","yes",9.9399995803833,11,"9",29,103,"other","no"
+"1540",375,12,7,"afam","yes","yes",25,"yes","yes","public","no","no",9,"yes","yes",9.9399995803833,11,"9",34,NA,"singlemom","no"
+"1541",489,12,7,"afam","yes","yes",25,"yes","yes","public","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",23,NA,"other","no"
+"1542",462,15,3,"afam","yes","yes",24,"yes","yes","public","no","yes",9,"yes","yes",12,7,"5",30,102,"step","no"
+"1543",340,12,16,"afam","yes","yes",34,"yes","yes","public","no","yes",12,"yes","yes",8,10.25,"9",33,NA,"both","no"
+"1544",581,12,12,"other","yes","yes",30,"yes","yes","public","no","yes",12,"yes","yes",9.9399995803833,12,"4",45,NA,"step","no"
+"1545",515,12,9,"other","yes","yes",27,"yes","yes","public","no","yes",12,"yes","yes",7,12,"6",34,88,"both","yes"
+"1546",1053,12,7,"other","yes","yes",25,"yes","yes","public","no","yes",10,"yes","yes",7,12,"6",32,88,"both","yes"
+"1547",475,12,12,"afam","yes","yes",30,"yes","yes","public","no","yes",12,"yes","yes",10,11,"7",26,NA,"both","yes"
+"1548",1502,18,8,"other","yes","yes",32,"yes","yes","public","no","yes",17,"yes","yes",14,9,"5",53,132,"both","yes"
+"1549",962,15,12,"other","yes","no",33,"yes","yes","public","no","no",15,"yes","yes",12,14,"2",45,110,"both","yes"
+"1550",230,15,9,"afam","yes","yes",30,"yes","yes","public","no","no",14,"yes","yes",14,18,"1",32,90,"both","yes"
+"1551",750,18,5,"afam","yes","yes",29,"yes","yes","public","no","yes",14,"yes","yes",14,18,"1",28,96,"both","yes"
+"1552",225,15,5,"afam","yes","yes",26,"yes","yes","public","no","yes",10,"yes","yes",12,12,"3",29,83,"both","no"
+"1553",331,13,7,"afam","yes","yes",26,"yes","yes","public","no","yes",10,"yes","yes",12,10.25,"5",32,86,"other","yes"
+"1554",397,11,9,"afam","yes","yes",26,"yes","yes","public","no","yes",8,"yes","yes",9.9399995803833,10.25,"9",28,NA,"other","no"
+"1555",750,10,18,"other","yes","yes",34,"yes","yes","public","no","yes",9,"yes","yes",10,10.25,"9",45,94,"both","yes"
+"1556",450,12,7,"other","yes","yes",25,"yes","yes","public","no","yes",9,"yes","yes",8,12,"6",20,86,"both","yes"
+"1557",865,13,6,"afam","yes","yes",25,"yes","yes","public","no","yes",10,"yes","yes",9,7,"8",40,110,"both","yes"
+"1558",535,8,10,"other","yes","yes",24,"yes","yes","public","no","no",7,"yes","yes",9,10,"7",31,NA,"both","yes"
+"1559",846,16,5,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","yes",12,8,"5",29,114,"both","yes"
+"1560",759,16,4,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","yes",12,8,"5",39,130,"both","yes"
+"1561",600,16,2,"other","yes","yes",24,"yes","yes","public","no","no",9,"yes","yes",12,8,"5",40,119,"both","yes"
+"1562",1030,12,16,"other","yes","yes",34,"yes","yes","public","no","yes",12,"yes","yes",8,10.25,"9",26,94,"both","yes"
+"1563",876,14,12,"other","yes","yes",32,"yes","yes","public","no","yes",12,"yes","yes",10,8,"8",52,125,"both","yes"
+"1564",568,12,14,"other","yes","yes",32,"yes","yes","public","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",44,100,"other","no"
+"1565",533,16,3,"other","yes","yes",25,"yes","yes","public","no","no",10,"yes","yes",14,14,"1",27,108,"both","yes"
+"1566",481,12,7,"other","yes","yes",25,"yes","yes","public","no","yes",8,"yes","yes",10,8,"8",38,NA,"step","yes"
+"1567",604,12,10,"afam","yes","yes",28,"yes","yes","public","yes","yes",11,"yes","yes",9.9399995803833,11,"9",39,83,"singlemom","yes"
+"1568",657,12,9,"other","yes","yes",27,"yes","yes","public","no","yes",12,"yes","yes",12,12,"3",32,86,"step","yes"
+"1569",625,12,13,"other","yes","yes",31,"yes","yes","public","no","yes",11,"yes","yes",9.9399995803833,12,"4",36,101,"both","no"
+"1570",280,12,11,"afam","yes","yes",29,"yes","yes","public","no","yes",9,"yes","yes",9.9399995803833,10,"9",16,70,"both","yes"
+"1571",500,10,12,"other","yes","yes",28,"yes","yes","public","no","yes",10,"yes","yes",8,7,"8",27,75,"both","no"
+"1572",535,12,8,"other","yes","yes",26,"yes","yes","public","yes","yes",10,"yes","yes",8,7,"8",24,105,"both","no"
+"1573",818,10,10,"other","yes","yes",26,"yes","yes","public","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",28,85,"both","no"
+"1574",624,10,18,"other","yes","yes",34,"yes","yes","public","no","yes",8,"yes","yes",9.9399995803833,10.25,"9",33,NA,"both","no"
+"1575",604,10,12,"other","yes","yes",28,"yes","yes","public","no","yes",10,"yes","yes",9.9399995803833,9,"9",36,89,"singlemom","no"
+"1576",505,12,13,"other","yes","no",31,"yes","yes","public","no","yes",10,"yes","yes",12,12,"3",25,80,"both","yes"
+"1577",750,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","yes",12,12,"3",20,72,"both","no"
+"1578",721,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","yes",11,8,"8",43,NA,"both","yes"
+"1579",674,18,8,"other","yes","no",32,"yes","yes","public","no","yes",17,"yes","yes",12,12,"3",56,115,"both","yes"
+"1580",913,16,11,"other","yes","yes",33,"yes","yes","public","no","yes",16,"yes","yes",17,12,"2",48,115,"both","yes"
+"1581",879,17,7,"afam","yes","yes",30,"yes","yes","public","yes","yes",12,"no","yes",18,18,"1",40,102,"both","yes"
+"1582",427,12,8,"afam","yes","yes",26,"yes","yes","public","yes","yes",10,"yes","yes",8,13,"6",27,NA,"step","yes"
+"1583",792,8,10,"afam","yes","yes",24,"yes","yes","public","no","yes",6,"yes","yes",12,12,"3",29,NA,"both","yes"
+"1584",327,14,9,"afam","yes","yes",29,"yes","yes","public","yes","no",13,"yes","yes",10,10,"7",44,99,"both","yes"
+"1585",313,10,14,"afam","yes","yes",30,"yes","yes","public","no","no",10,"yes","yes",9.9399995803833,10.25,"9",39,NA,"other","no"
+"1586",786,16,12,"afam","yes","no",34,"yes","yes","public","no","yes",12,"yes","yes",14,12,"2",34,NA,"both","yes"
+"1587",337,18,7,"other","yes","no",31,"yes","yes","public","no","yes",17,"yes","yes",14,12,"2",40,107,"both","yes"
+"1588",385,10,14,"afam","yes","yes",30,"yes","yes","public","no","no",10,"yes","yes",9.9399995803833,4,"9",27,66,"singlemom","yes"
+"1589",529,16,5,"afam","yes","yes",27,"yes","yes","public","no","no",12,"yes","yes",8,8,"8",47,108,"both","yes"
+"1590",429,10,17,"afam","no","yes",33,"yes","yes","public","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",37,NA,"other","no"
+"1591",984,12,9,"other","no","no",27,"yes","yes","public","no","no",12,"yes","yes",7,7,"8",36,94,"both","no"
+"1592",817,12,16,"other","yes","yes",34,"yes","yes","public","no","no",12,"yes","yes",3,8,"8",27,93,"both","no"
+"1593",745,14,12,"afam","yes","yes",32,"yes","yes","public","no","yes",13,"yes","yes",7,8,"8",NA,NA,"both","no"
+"1594",345,10,8,"afam","yes","yes",24,"yes","yes","public","no","no",6,"yes","yes",4,0,"8",31,NA,"both","yes"
+"1595",554,14,14,"afam","yes","yes",34,"yes","yes","public","yes","yes",14,"yes","yes",9.9399995803833,12,"4",43,NA,"both","yes"
+"1596",263,13,5,"afam","yes","yes",24,"yes","yes","public","no","no",9,"yes","yes",6,12,"6",28,85,"both","yes"
+"1597",745,18,8,"afam","yes","yes",32,"yes","yes","public","no","yes",14,"yes","yes",16,16,"1",40,99,"both","no"
+"1598",673,17,6,"afam","yes","yes",29,"yes","yes","public","no","no",12,"no","yes",13,13,"1",42,NA,"both","yes"
+"1599",721,17,9,"afam","yes","yes",32,"yes","yes","public","no","no",17,"yes","yes",14,13,"1",36,86,"both","yes"
+"1600",438,13,11,"afam","yes","yes",30,"yes","yes","public","no","yes",12,"yes","yes",9.9399995803833,11,"9",34,NA,"singlemom","yes"
+"1601",545,12,8,"afam","yes","yes",26,"no","yes","none","no","yes",11,"yes","yes",9.9399995803833,12,"4",32,95,"singlemom","yes"
+"1602",250,14,5,"afam","yes","yes",25,"no","yes","none","no","no",9,"yes","yes",9.9399995803833,12,"4",NA,114,"singlemom","yes"
+"1603",624,14,7,"afam","yes","yes",27,"no","yes","none","no","no",11,"yes","yes",9.9399995803833,11,"9",NA,74,"singlemom","yes"
+"1604",400,13,10,"other","yes","yes",29,"no","yes","none","no","no",12,"yes","yes",8,10,"8",36,NA,"both","yes"
+"1605",577,16,7,"other","yes","yes",29,"no","yes","none","no","yes",13,"yes","yes",16,16,"1",46,128,"both","yes"
+"1606",813,16,3,"afam","yes","yes",25,"no","yes","none","no","no",10,"yes","yes",18,18,"1",37,111,"both","yes"
+"1607",625,12,16,"afam","yes","yes",34,"no","yes","none","no","no",12,"yes","yes",12,11,"5",38,101,"both","yes"
+"1608",485,14,6,"afam","yes","yes",26,"no","yes","none","no","no",11,"yes","yes",12,11,"5",43,111,"both","yes"
+"1609",841,16,6,"other","yes","yes",28,"no","yes","none","no","no",13,"yes","yes",10,12,"6",42,92,"both","yes"
+"1610",865,16,5,"other","yes","yes",27,"no","yes","none","no","yes",12,"yes","yes",10,12,"6",41,100,"both","yes"
+"1611",325,16,4,"other","yes","yes",26,"no","yes","none","no","yes",11,"yes","yes",14,12,"2",48,123,"both","yes"
+"1612",477,14,6,"afam","yes","yes",26,"no","yes","none","no","yes",9,"yes","yes",9,10,"7",22,69,"both","yes"
+"1613",250,16,3,"afam","yes","yes",25,"no","yes","none","no","yes",9,"yes","yes",9,10,"7",30,79,"both","yes"
+"1614",500,12,6,"other","yes","yes",24,"no","yes","none","no","no",9,"yes","yes",10,9,"7",30,NA,"both","yes"
+"1615",515,13,6,"other","yes","yes",25,"no","no","none","yes","no",9,"yes","yes",8,10,"8",31,106,"both","yes"
+"1616",256,18,4,"other","yes","yes",28,"no","no","none","no","no",12,"yes","yes",9.9399995803833,5,"9",27,106,"singlemom","yes"
+"1617",718,13,5,"other","yes","yes",24,"no","no","none","no","no",9,"yes","yes",9.9399995803833,5,"9",40,115,"singlemom","yes"
+"1618",796,18,6,"other","yes","no",30,"no","no","none","no","yes",15,"no","yes",17,13,"1",42,NA,"both","yes"
+"1619",750,12,7,"other","yes","yes",25,"no","no","none","no","yes",10,"yes","yes",10,12,"6",31,108,"both","no"
+"1620",419,12,6,"afam","yes","yes",24,"no","no","none","no","no",8,"yes","yes",10,11,"7",26,NA,"both","no"
+"1621",431,12,8,"afam","yes","yes",26,"no","no","none","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",22,69,"other","no"
+"1622",425,12,7,"afam","yes","no",25,"no","no","none","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",27,86,"both","no"
+"1623",220,12,13,"afam","yes","yes",31,"no","no","none","no","no",12,"yes","yes",10,11,"7",29,76,"both","yes"
+"1624",685,13,10,"afam","yes","yes",29,"no","no","none","yes","yes",13,"yes","yes",9,9,"7",40,115,"both","yes"
+"1625",500,15,13,"other","yes","yes",34,"no","no","none","no","yes",15,"yes","yes",14,12,"2",44,104,"both","no"
+"1626",551,16,4,"other","yes","yes",26,"no","no","none","no","no",11,"yes","yes",10,12,"6",37,115,"both","no"
+"1627",700,11,8,"other","yes","yes",25,"no","no","none","no","yes",9,"yes","yes",12,12,"3",26,93,"both","no"
+"1628",707,12,14,"other","yes","yes",32,"yes","no","public","no","yes",12,"yes","yes",8,8,"8",39,91,"both","yes"
+"1629",523,17,5,"other","yes","yes",28,"yes","yes","private","no","yes",13,"yes","yes",18,14,"1",38,125,"both","yes"
+"1630",433,12,6,"other","yes","yes",24,"yes","yes","private","no","yes",7,"yes","yes",0,3,"8",26,NA,"both","no"
+"1631",462,14,5,"other","yes","yes",25,"yes","yes","private","yes","yes",9,"yes","yes",5,4,"8",22,89,"both","yes"
+"1632",397,12,6,"other","yes","yes",24,"yes","yes","private","no","yes",7,"yes","yes",5,4,"8",16,NA,"both","yes"
+"1633",400,15,5,"other","yes","yes",26,"yes","yes","private","yes","yes",10,"yes","yes",9,5,"8",26,92,"both","yes"
+"1634",872,18,4,"other","yes","no",28,"yes","yes","private","no","no",12,"yes","yes",14,8,"5",28,127,"both","yes"
+"1635",378,12,8,"other","yes","yes",26,"yes","yes","private","no","yes",9,"yes","yes",7,10,"8",38,80,"both","yes"
+"1636",364,12,9,"other","yes","yes",27,"yes","yes","private","no","yes",11,"yes","yes",5,8,"8",24,NA,"both","yes"
+"1637",962,15,10,"other","yes","yes",31,"yes","yes","private","no","yes",14,"yes","yes",12,10,"5",44,NA,"both","yes"
+"1638",801,15,9,"other","yes","yes",30,"yes","yes","private","no","no",13,"yes","yes",12,15,"2",36,112,"both","yes"
+"1639",400,5,21,"other","yes","yes",32,"yes","yes","private","no","yes",4,"yes","yes",0,4,"8",12,NA,"both","no"
+"1640",540,13,10,"afam","yes","yes",29,"yes","yes","private","no","no",11,"yes","yes",9.9399995803833,12,"4",29,NA,"other","no"
+"1641",450,10,14,"other","yes","yes",30,"yes","yes","private","no","yes",10,"yes","yes",9,9,"7",35,90,"both","no"
+"1642",438,15,6,"afam","yes","yes",27,"yes","yes","private","no","no",12,"yes","yes",9.9399995803833,16,"4",34,NA,"singlemom","yes"
+"1643",360,12,8,"afam","yes","yes",26,"yes","yes","private","no","no",9,"yes","yes",4,9,"8",23,84,"both","no"
+"1644",529,12,9,"other","yes","yes",27,"yes","no","public","no","yes",11,"yes","yes",12,12,"3",30,NA,"step","no"
+"1645",721,12,8,"afam","yes","yes",26,"yes","no","public","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",43,120,"singlemom","no"
+"1646",345,2,23,"other","yes","yes",31,"yes","no","public","no","no",2,"yes","yes",9.9399995803833,10,"9",31,NA,"singlemom","no"
+"1647",1052,11,10,"other","yes","no",27,"yes","no","public","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",41,NA,"both","yes"
+"1648",726,16,6,"other","yes","yes",28,"yes","no","public","no","no",12,"yes","yes",16,10.25,"5",44,106,"both","no"
+"1649",543,12,15,"afam","yes","no",33,"yes","no","private","no","no",12,"yes","yes",9.9399995803833,10.25,"9",24,76,"other","no"
+"1650",1202,16,11,"other","yes","no",33,"yes","no","private","no","yes",16,"yes","yes",8,6,"8",48,115,"both","no"
+"1651",400,16,2,"other","yes","yes",24,"yes","no","private","no","yes",8,"yes","yes",9.9399995803833,12,"4",33,NA,"singlemom","no"
+"1652",375,9,17,"afam","yes","yes",32,"yes","no","private","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",32,89,"both","no"
+"1653",281,11,13,"afam","yes","yes",30,"yes","yes","private","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",29,NA,"other","no"
+"1654",127,12,6,"afam","yes","yes",24,"yes","yes","private","no","no",7,"yes","yes",9.9399995803833,10,"9",24,NA,"singlemom","no"
+"1655",1393,12,14,"afam","yes","no",32,"yes","yes","private","no","no",12,"yes","yes",9.9399995803833,7,"9",39,102,"singlemom","yes"
+"1656",649,12,12,"other","no","yes",30,"yes","yes","private","no","yes",12,"yes","yes",10,9,"7",47,104,"both","yes"
+"1657",420,16,9,"other","yes","yes",31,"yes","yes","private","no","no",14,"yes","yes",11,8,"8",37,NA,"both","no"
+"1658",455,16,5,"other","yes","yes",27,"yes","yes","private","no","yes",12,"yes","yes",11,8,"8",40,122,"both","no"
+"1659",661,12,7,"afam","yes","yes",25,"yes","yes","private","no","yes",9,"yes","yes",9,6,"8",23,107,"both","no"
+"1660",380,12,6,"other","no","yes",24,"yes","no","private","no","yes",8,"yes","yes",12,8,"5",30,NA,"both","no"
+"1661",315,10,18,"afam","yes","yes",34,"yes","no","private","no","no",9,"yes","yes",9.9399995803833,10.25,"9",26,NA,"other","no"
+"1662",452,14,4,"other","yes","yes",24,"yes","no","private","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",41,NA,"both","yes"
+"1663",625,12,10,"other","yes","yes",28,"yes","no","private","no","yes",12,"yes","yes",12,12,"3",42,100,"both","yes"
+"1664",601,14,4,"other","yes","yes",24,"yes","no","private","yes","no",8,"yes","yes",8,10.25,"9",30,NA,"both","yes"
+"1665",499,13,8,"other","yes","yes",27,"yes","no","private","no","yes",11,"yes","yes",7,12,"6",32,100,"both","yes"
+"1666",693,8,17,"other","yes","yes",31,"no","no","none","no","yes",8,"yes","yes",8,10,"8",24,NA,"both","no"
+"1667",535,18,8,"other","no","yes",32,"yes","no","public","no","yes",14,"no","yes",15,15,"1",40,129,"both","yes"
+"1668",465,7,13,"other","yes","no",26,"yes","no","public","no","yes",6,"no","yes",1,8,"8",24,NA,"singlemom","no"
+"1669",400,12,6,"other","no","yes",24,"yes","no","public","no","yes",8,"no","yes",9.9399995803833,9,"9",32,NA,"singlemom","yes"
+"1670",368,18,3,"other","no","yes",27,"yes","no","public","no","yes",12,"no","yes",17,16,"1",40,129,"both","yes"
+"1671",700,8,11,"other","no","yes",25,"yes","no","public","no","yes",8,"no","yes",4,5,"8",22,NA,"step","yes"
+"1672",962,16,9,"other","yes","no",31,"yes","no","public","no","yes",16,"no","yes",16,12,"2",39,112,"both","no"
+"1673",365,6,12,"other","no","yes",24,"yes","no","public","no","yes",6,"no","yes",9.9399995803833,8,"9",13,NA,"singlemom","yes"
+"1674",475,9,18,"other","no","yes",33,"yes","no","public","no","no",7,"no","yes",7,3,"8",35,NA,"singlemom","no"
+"1675",200,12,6,"other","no","yes",24,"yes","no","public","no","yes",7,"no","yes",7,3,"8",15,NA,"singlemom","no"
+"1676",600,9,9,"afam","yes","no",24,"yes","no","public","no","yes",7,"no","yes",9.9399995803833,10.25,"9",23,NA,"other","yes"
+"1677",505,12,9,"afam","yes","no",27,"yes","no","public","no","no",11,"no","yes",8,10.25,"9",17,76,"other","yes"
+"1678",577,16,9,"afam","yes","yes",31,"yes","no","public","no","yes",15,"no","yes",12,12,"3",36,82,"both","yes"
+"1679",457,12,6,"afam","no","yes",24,"yes","no","public","no","no",8,"no","yes",6,12,"6",20,NA,"both","yes"
+"1680",750,12,16,"other","yes","yes",34,"yes","no","public","no","no",12,"no","yes",9.9399995803833,10.25,"9",45,97,"other","yes"
+"1681",577,11,15,"other","no","yes",32,"yes","no","public","no","yes",11,"no","yes",2,11,"8",38,98,"both","yes"
+"1682",289,15,3,"other","yes","yes",24,"yes","no","public","yes","no",9,"yes","yes",17,16,"1",34,124,"both","yes"
+"1683",224,12,7,"afam","yes","yes",25,"yes","no","public","no","yes",8,"yes","yes",15,9,"5",31,NA,"both","no"
+"1684",363,10,8,"afam","yes","yes",24,"yes","no","public","no","no",5,"yes","yes",15,9,"5",NA,NA,"step","no"
+"1685",229,10,10,"afam","yes","yes",26,"yes","no","public","no","no",7,"yes","yes",9.9399995803833,8,"9",25,NA,"singlemom","no"
+"1686",234,9,11,"afam","yes","yes",26,"yes","no","public","no","no",9,"yes","yes",2,9,"8",20,81,"both","no"
+"1687",465,14,4,"afam","yes","yes",24,"yes","no","public","no","yes",5,"yes","yes",9.9399995803833,7,"9",NA,NA,"both","no"
+"1688",2083,16,5,"other","yes","yes",27,"yes","no","public","no","no",11,"yes","yes",9.9399995803833,10.25,"9",34,60,"singlemom","yes"
+"1689",427,15,10,"afam","yes","yes",31,"yes","no","public","yes","yes",14,"yes","yes",12,12,"3",44,NA,"both","yes"
+"1690",678,12,15,"other","yes","yes",33,"yes","no","public","yes","no",12,"yes","yes",8,9,"8",44,100,"both","yes"
+"1691",313,13,8,"other","no","yes",27,"yes","no","public","yes","no",10,"no","yes",18,16,"1",30,84,"both","yes"
+"1692",601,18,4,"other","yes","yes",28,"yes","no","public","no","yes",12,"yes","yes",7,12,"6",45,132,"both","no"
+"1693",500,10,17,"other","yes","yes",33,"yes","no","public","no","yes",10,"yes","yes",6,12,"6",35,96,"both","no"
+"1694",375,12,10,"other","yes","yes",28,"yes","no","public","no","no",12,"yes","yes",6,12,"6",35,100,"both","no"
+"1695",550,12,16,"afam","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",2,6,"8",30,109,"both","no"
+"1696",702,17,5,"afam","yes","no",28,"yes","no","private","yes","yes",12,"no","yes",9.9399995803833,12,"4",41,NA,"singlemom","yes"
+"1697",625,16,11,"afam","yes","yes",33,"yes","no","private","no","yes",15,"yes","yes",9.9399995803833,14,"4",34,84,"singlemom","yes"
+"1698",423,14,14,"afam","yes","yes",34,"yes","no","private","no","yes",11,"yes","yes",9.9399995803833,6,"9",31,90,"singlemom","no"
+"1699",355,11,11,"afam","yes","yes",28,"yes","no","private","no","yes",11,"yes","yes",9.9399995803833,8,"9",28,NA,"singlemom","no"
+"1700",519,12,8,"other","yes","yes",26,"yes","no","private","no","no",10,"yes","yes",9,12,"6",30,98,"both","yes"
+"1701",359,14,4,"other","yes","yes",24,"yes","no","private","no","yes",9,"yes","yes",9,12,"6",40,120,"both","yes"
+"1702",349,11,10,"afam","yes","yes",27,"yes","no","private","no","yes",9,"yes","yes",9.9399995803833,7,"9",26,63,"singlemom","no"
+"1703",293,12,13,"afam","yes","yes",31,"yes","no","private","no","yes",12,"yes","yes",6,5,"8",29,NA,"both","no"
+"1704",443,18,4,"afam","yes","yes",28,"yes","no","private","no","yes",11,"yes","yes",9.9399995803833,5,"9",40,100,"singlemom","yes"
+"1705",270,6,22,"afam","yes","yes",34,"yes","no","private","no","yes",6,"yes","yes",6,6,"8",20,NA,"both","no"
+"1706",385,14,8,"other","yes","yes",28,"yes","no","private","no","yes",12,"no","yes",16,13,"1",36,110,"both","yes"
+"1707",438,12,9,"other","yes","yes",27,"yes","no","private","no","yes",10,"yes","yes",9.9399995803833,12,"4",43,83,"both","no"
+"1708",417,11,13,"other","yes","yes",30,"yes","no","private","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",38,88,"other","yes"
+"1709",481,11,14,"other","yes","yes",31,"yes","no","private","no","yes",11,"yes","yes",6,10.25,"9",41,98,"other","no"
+"1710",596,16,8,"other","yes","yes",30,"yes","no","private","yes","yes",15,"no","yes",16,12,"2",49,113,"both","yes"
+"1711",600,12,10,"afam","yes","yes",28,"yes","no","private","no","yes",11,"yes","yes",3,8,"8",22,103,"both","no"
+"1712",250,14,7,"afam","yes","yes",27,"yes","no","private","no","no",10,"yes","yes",9.9399995803833,9,"9",19,NA,"singlemom","no"
+"1713",531,12,13,"afam","yes","yes",31,"yes","no","private","no","yes",12,"yes","yes",6,10,"8",18,97,"singlemom","no"
+"1714",591,12,8,"afam","yes","yes",26,"yes","no","private","no","yes",9,"yes","yes",6,10,"8",17,NA,"both","no"
+"1715",503,12,15,"afam","yes","no",33,"yes","no","private","no","yes",12,"yes","yes",9.9399995803833,10.25,"9",32,76,"both","no"
+"1716",475,11,8,"afam","yes","no",25,"yes","no","private","no","yes",7,"yes","yes",9.9399995803833,9,"9",27,NA,"singlemom","no"
+"1717",1374,16,9,"other","yes","yes",31,"yes","yes","public","no","no",15,"yes","yes",12,12,"3",44,126,"both","yes"
+"1718",325,17,1,"other","yes","no",24,"yes","yes","public","yes","no",8,"yes","yes",17,12,"2",49,NA,"both","yes"
+"1719",577,14,5,"other","yes","yes",25,"yes","yes","public","yes","yes",9,"yes","yes",6,12,"6",NA,108,"both","no"
+"1720",702,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","yes",9.9399995803833,11,"9",44,127,"other","yes"
+"1721",444,16,3,"other","yes","yes",25,"yes","yes","public","no","no",10,"yes","yes",16,14,"1",32,112,"both","yes"
+"1722",560,13,8,"afam","yes","yes",27,"yes","yes","public","no","no",12,"yes","yes",12,12,"3",29,99,"both","yes"
+"1723",962,13,13,"other","yes","yes",32,"yes","yes","public","no","yes",13,"yes","yes",8,8,"8",39,94,"both","yes"
+"1724",310,12,8,"other","yes","yes",26,"yes","yes","public","no","no",9,"yes","yes",9.9399995803833,7,"9",28,NA,"singlemom","yes"
+"1725",1269,17,10,"other","yes","yes",33,"yes","yes","public","yes","yes",15,"yes","yes",16,16,"1",48,127,"both","yes"
+"1726",500,16,6,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","yes",16,16,"1",48,97,"both","yes"
+"1727",583,16,8,"other","yes","no",30,"yes","yes","public","yes","no",14,"no","yes",16,16,"1",52,114,"both","yes"
+"1728",112,17,2,"other","yes","no",25,"yes","yes","public","yes","no",10,"yes","yes",16,16,"1",33,116,"both","yes"
+"1729",673,14,13,"other","yes","no",33,"yes","yes","public","no","yes",13,"yes","yes",13,12,"2",45,125,"both","yes"
+"1730",1923,17,6,"other","yes","yes",29,"yes","yes","public","yes","yes",13,"yes","yes",14,12,"2",43,104,"both","yes"
+"1731",400,14,4,"afam","yes","yes",24,"yes","yes","public","no","no",8,"yes","yes",12,12,"3",27,NA,"both","yes"
+"1732",460,12,7,"afam","yes","yes",25,"yes","yes","public","no","yes",10,"yes","yes",12,12,"3",27,99,"both","yes"
+"1733",245,12,12,"afam","yes","yes",30,"yes","yes","public","no","no",12,"yes","yes",9.9399995803833,12,"4",NA,NA,"step","no"
+"1734",315,16,5,"afam","yes","yes",27,"yes","yes","public","no","yes",11,"yes","yes",12,12,"3",44,127,"both","no"
+"1735",641,14,6,"other","yes","yes",26,"yes","yes","public","no","yes",11,"yes","yes",8,10,"8",37,103,"both","yes"
+"1736",750,12,7,"other","yes","yes",25,"yes","yes","public","no","yes",9,"yes","yes",8,10,"8",23,98,"both","yes"
+"1737",308,17,2,"other","yes","no",25,"yes","yes","public","yes","yes",8,"yes","yes",18,18,"1",35,NA,"both","yes"
+"1738",350,17,6,"other","yes","no",29,"yes","yes","public","yes","yes",14,"yes","yes",18,16,"1",42,137,"both","yes"
+"1739",462,18,3,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","yes",18,16,"1",32,137,"both","yes"
+"1740",1154,15,13,"other","yes","no",34,"yes","yes","public","no","yes",13,"yes","yes",12,12,"3",51,103,"both","no"
+"1741",1748,16,12,"other","yes","yes",34,"yes","yes","public","no","yes",16,"yes","yes",12,12,"3",44,111,"both","yes"
+"1742",769,17,10,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","yes",15,12,"2",51,115,"both","yes"
+"1743",730,15,8,"other","yes","no",29,"yes","no","public","no","yes",14,"no","yes",12,11,"5",42,109,"both","yes"
+"1744",736,18,6,"other","no","yes",30,"yes","no","public","no","yes",15,"no","yes",13,17,"1",49,107,"both","yes"
+"1745",500,16,3,"other","no","yes",25,"yes","no","public","no","yes",10,"no","yes",14,13,"1",34,128,"step","yes"
+"1746",365,16,2,"other","no","yes",24,"yes","no","public","no","no",9,"no","yes",12,12,"3",36,123,"step","yes"
+"1747",333,13,5,"other","yes","yes",24,"yes","no","public","yes","yes",9,"no","yes",3,3,"8",25,91,"both","yes"
+"1748",721,12,15,"other","no","yes",33,"yes","no","public","no","yes",12,"no","yes",4,8,"8",40,NA,"both","no"
+"1749",375,12,9,"other","no","yes",27,"yes","no","public","no","yes",11,"no","yes",3,3,"8",21,89,"both","yes"
+"1750",250,12,8,"other","no","yes",26,"yes","no","public","no","yes",7,"no","yes",9,5,"8",31,NA,"both","no"
+"1751",361,17,7,"other","no","yes",30,"yes","no","public","yes","yes",13,"no","yes",4,8,"8",34,87,"both","yes"
+"1752",283,7,19,"other","no","yes",32,"no","no","none","no","yes",7,"no","yes",9.9399995803833,4,"9",28,NA,"both","no"
+"1753",415,12,16,"other","no","yes",34,"no","no","none","no","yes",12,"no","yes",9.9399995803833,18,"4",37,NA,"singlemom","no"
+"1754",522,16,5,"other","no","yes",27,"no","no","none","yes","yes",11,"no","yes",8,11,"8",38,101,"both","yes"
+"1755",706,12,15,"other","no","yes",33,"no","no","none","no","yes",12,"no","yes",11,11,"7",33,90,"both","yes"
+"1756",409,16,4,"other","no","yes",26,"no","no","none","yes","yes",11,"no","yes",10,11,"7",41,104,"both","yes"
+"1757",416,12,6,"other","no","yes",24,"no","no","none","no","yes",9,"no","yes",7,12,"6",39,105,"both","yes"
+"1758",786,12,12,"other","yes","no",30,"no","no","none","no","no",12,"no","yes",9.9399995803833,8,"9",27,100,"both","yes"
+"1759",577,16,5,"other","no","yes",27,"no","no","none","no","yes",12,"yes","yes",12,16,"2",40,111,"both","yes"
+"1760",478,16,2,"other","no","yes",24,"no","no","none","no","yes",8,"no","yes",16,12,"2",39,95,"both","yes"
+"1761",625,17,4,"other","yes","yes",27,"no","no","none","no","no",12,"yes","yes",13,16,"1",44,125,"both","yes"
+"1762",505,17,1,"other","no","yes",24,"no","no","none","no","no",9,"no","yes",12,16,"2",35,95,"both","yes"
+"1763",287,12,14,"other","no","yes",32,"no","no","none","no","yes",12,"no","yes",1,8,"8",37,NA,"both","yes"
+"1764",500,12,6,"other","yes","yes",24,"no","no","none","no","yes",9,"no","yes",6,8,"8",24,NA,"both","yes"
+"1765",500,8,13,"other","yes","yes",27,"no","no","none","no","no",8,"no","yes",7,8,"8",34,NA,"both","no"
+"1766",350,12,9,"other","no","yes",27,"no","no","none","no","yes",12,"no","yes",7,12,"6",22,NA,"both","yes"
+"1767",462,13,5,"other","no","yes",24,"no","no","none","no","yes",9,"no","yes",12,11,"5",34,NA,"both","no"
+"1768",548,13,11,"afam","no","yes",30,"no","no","none","no","no",12,"no","yes",6,1,"8",29,NA,"both","no"
+"1769",255,12,10,"afam","no","yes",28,"no","no","none","no","yes",12,"no","yes",6,3,"8",32,NA,"both","no"
+"1770",524,13,5,"afam","yes","yes",24,"no","no","none","no","no",10,"no","yes",4,1,"8",26,NA,"both","no"
+"1771",292,12,15,"afam","no","yes",33,"no","no","none","no","yes",12,"no","yes",5,9,"8",29,NA,"both","no"
+"1772",375,14,8,"other","yes","yes",28,"no","no","none","no","yes",10,"no","yes",7,7,"8",24,NA,"both","no"
+"1773",529,18,8,"other","yes","yes",32,"no","no","none","no","no",14,"yes","yes",7,11,"8",38,NA,"both","yes"
+"1774",909,16,3,"other","no","yes",25,"no","no","none","no","no",10,"no","yes",10,12,"6",20,124,"both","no"
+"1775",353,9,13,"other","yes","yes",28,"no","no","none","no","yes",8,"yes","yes",9.9399995803833,7,"9",30,NA,"singlemom","no"
+"1776",1155,14,8,"other","yes","yes",28,"no","no","none","no","yes",12,"yes","yes",12,12,"3",41,107,"both","yes"
+"1777",250,8,20,"other","yes","yes",34,"no","no","none","no","no",8,"yes","yes",9.9399995803833,10.25,"9",22,NA,"both","no"
+"1778",781,13,9,"other","yes","yes",28,"no","no","none","yes","yes",13,"yes","yes",12,12,"3",35,107,"both","yes"
+"1779",416,13,12,"other","yes","yes",31,"no","no","none","no","no",12,"yes","yes",16,12,"2",45,110,"both","yes"
+"1780",364,13,10,"afam","no","yes",29,"yes","no","public","yes","yes",12,"no","yes",7,11,"8",30,80,"both","no"
+"1781",375,13,8,"afam","yes","yes",27,"yes","no","public","yes","yes",11,"no","yes",9.9399995803833,11,"9",27,91,"step","no"
+"1782",375,15,3,"afam","no","yes",24,"yes","no","public","yes","yes",8,"no","yes",7,11,"8",29,NA,"singlemom","no"
+"1783",358,16,6,"afam","no","yes",28,"yes","no","public","yes","yes",10,"no","yes",9.9399995803833,5,"9",26,96,"singlemom",NA
+"1784",300,7,18,"afam","no","yes",31,"yes","no","public","no","no",5,"no","yes",9.9399995803833,2,"9",16,NA,"singlemom","no"
+"1785",528,14,5,"other","no","yes",25,"yes","no","public","no","yes",9,"no","yes",16,16,"1",32,102,"both","yes"
+"1786",299,12,16,"other","no","yes",34,"yes","no","public","no","no",12,"no","yes",9.9399995803833,10.25,"9",26,93,"singlemom","no"
+"1787",450,8,18,"afam","no","yes",32,"yes","no","public","no","yes",8,"no","yes",0,8,"8",33,NA,"both","no"
+"1788",540,14,5,"afam","no","yes",25,"yes","no","public","yes","yes",7,"no","yes",6,10,"8",20,NA,"both","no"
+"1789",528,8,15,"other","no","yes",29,"yes","no","public","no","yes",8,"no","yes",1,6,"8",26,NA,"both","no"
+"1790",769,12,12,"other","no","yes",30,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,12,"4",36,81,"both","yes"
+"1791",198,12,8,"afam","yes","no",26,"yes","no","public","no","no",10,"no","yes",5,8,"8",32,NA,"both","no"
+"1792",400,12,6,"afam","yes","no",24,"yes","no","public","no","no",8,"no","yes",2,3,"8",22,NA,"both","no"
+"1793",753,12,10,"afam","yes","no",28,"yes","no","public","no","no",11,"no","yes",9.9399995803833,6,"9",26,NA,"other","no"
+"1794",445,12,6,"afam","yes","no",24,"yes","no","public","yes","no",7,"no","yes",9.9399995803833,10.25,"9",20,NA,"other","no"
+"1795",240,9,15,"afam","no","yes",30,"yes","no","public","no","yes",4,"no","yes",3,5,"8",18,NA,"both","no"
+"1796",167,3,16,"afam","no","yes",25,"yes","no","public","no","yes",3,"no","yes",9.9399995803833,5,"9",6,NA,"singlemom","no"
+"1797",445,12,6,"other","yes","yes",24,"yes","no","public","no","yes",8,"no","yes",9,7,"8",36,NA,"both","no"
+"1798",250,10,10,"afam","no","yes",26,"yes","no","public","no","yes",8,"no","yes",3,4,"8",8,NA,"both","no"
+"1799",475,12,8,"other","no","yes",26,"yes","no","public","no","yes",10,"no","yes",10,12,"6",36,99,"both","no"
+"1800",400,16,6,"other","no","yes",28,"yes","no","public","no","yes",12,"yes","yes",16,16,"1",42,122,"both","yes"
+"1801",398,18,0,"other","no","yes",24,"yes","no","public","no","no",9,"no","yes",16,16,"1",38,94,"both","yes"
+"1802",350,12,7,"afam","yes","no",25,"yes","no","public","no","yes",8,"no","yes",3,5,"8",24,NA,"both","yes"
+"1803",523,12,15,"afam","no","yes",33,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,10.25,"9",26,93,"both","no"
+"1804",270,10,15,"afam","no","yes",31,"yes","no","public","no","yes",9,"no","yes",4,8,"8",31,NA,"both","no"
+"1805",310,9,15,"afam","no","yes",30,"yes","no","public","no","yes",9,"no","yes",9.9399995803833,1,"9",20,NA,"both","no"
+"1806",300,6,19,"afam","no","yes",31,"yes","no","public","no","no",6,"no","yes",9.9399995803833,10.25,"9",NA,NA,"other","no"
+"1807",325,12,10,"afam","no","yes",28,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,10.25,"9",32,69,"other","no"
+"1808",900,12,6,"other","yes","yes",24,"yes","no","private","no","yes",7,"yes","yes",18,12,"2",28,NA,"both","no"
+"1809",750,13,7,"other","yes","yes",26,"no","no","none","no","yes",11,"yes","yes",12,12,"3",35,102,"both","no"
+"1810",285,8,12,"afam","yes","yes",26,"no","no","none","no","yes",7,"yes","yes",9.9399995803833,6,"9",12,NA,"singlemom","no"
+"1811",278,12,6,"other","yes","yes",24,"no","no","none","no","yes",8,"yes","yes",12,12,"3",10,NA,"both","no"
+"1812",500,13,10,"afam","yes","yes",29,"no","no","none","no","yes",12,"yes","yes",13,10,"5",29,NA,"both","yes"
+"1813",700,8,16,"other","yes","yes",30,"no","no","none","no","yes",8,"yes","yes",5,8,"8",28,NA,"both","no"
+"1814",300,9,11,"other","yes","yes",26,"no","no","none","no","yes",8,"yes","yes",5,8,"8",16,NA,"both","no"
+"1815",392,8,20,"other","yes","yes",34,"no","no","none","no","yes",6,"yes","yes",5,8,"8",36,NA,"both","no"
+"1816",511,12,16,"other","yes","yes",34,"no","no","none","no","yes",12,"yes","yes",5,12,"6",44,95,"both","no"
+"1817",624,16,9,"other","yes","yes",31,"no","no","none","no","no",13,"yes","yes",8,11,"8",37,98,"both","yes"
+"1818",244,12,9,"afam","yes","yes",27,"no","no","none","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",28,84,"other","no"
+"1819",363,12,9,"other","yes","yes",27,"no","no","none","no","yes",11,"yes","yes",7,10.25,"9",30,88,"both","yes"
+"1820",606,16,5,"other","yes","yes",27,"no","no","none","no","no",11,"no","yes",9.9399995803833,4,"9",41,109,"singlemom","yes"
+"1821",760,12,7,"other","yes","yes",25,"no","no","none","no","yes",9,"yes","yes",9.9399995803833,9,"9",32,115,"singlemom","yes"
+"1822",385,14,11,"other","yes","yes",31,"no","no","none","no","yes",14,"yes","yes",12,12,"3",37,105,"both","yes"
+"1823",495,12,14,"afam","yes","yes",32,"no","no","none","no","yes",12,"yes","yes",8,8,"8",27,NA,"both","no"
+"1824",828,16,5,"other","yes","yes",27,"no","no","none","yes","yes",12,"no","yes",8,10,"8",38,90,"both","yes"
+"1825",404,12,7,"other","yes","yes",25,"no","no","none","no","yes",10,"yes","yes",9.9399995803833,12,"4",28,92,"singlemom","yes"
+"1826",267,15,6,"other","no","yes",27,"no","no","none","no","no",12,"yes","yes",10,12,"6",27,113,"both","yes"
+"1827",440,12,16,"other","no","yes",34,"no","no","none","no","yes",12,"no","yes",5,8,"8",41,82,"both","no"
+"1828",375,14,8,"other","no","yes",28,"no","no","none","no","no",12,"no","yes",9.9399995803833,12,"4",22,105,"singlemom","yes"
+"1829",301,10,8,"other","no","yes",24,"no","no","none","no","yes",8,"no","yes",2,8,"8",22,NA,"both","yes"
+"1830",658,12,16,"other","no","yes",34,"no","no","none","no","yes",12,"no","yes",8,12,"6",36,95,"both","yes"
+"1831",514,15,3,"afam","yes","no",24,"no","no","none","no","no",9,"no","yes",7,10,"8",33,92,"both","yes"
+"1832",300,12,8,"afam","no","yes",26,"no","no","none","no","no",10,"no","yes",9.9399995803833,7,"9",25,NA,"singlemom","no"
+"1833",230,12,8,"afam","no","yes",26,"no","no","none","no","no",10,"no","yes",10,7,"8",24,NA,"step","no"
+"1834",260,10,15,"afam","no","yes",31,"no","no","none","no","no",10,"no","yes",9.9399995803833,10.25,"9",12,NA,"other","no"
+"1835",305,12,6,"afam","no","yes",24,"no","no","none","no","yes",9,"no","yes",8,9,"8",16,NA,"step","yes"
+"1836",430,8,17,"afam","no","yes",31,"no","no","none","no","yes",7,"no","yes",0,0,"8",21,NA,"both","no"
+"1837",260,8,10,"afam","no","yes",24,"no","no","none","no","yes",4,"no","yes",0,0,"8",12,NA,"both","yes"
+"1838",577,16,2,"other","yes","yes",24,"no","no","none","no","no",9,"no","yes",12,12,"3",36,140,"both","yes"
+"1839",425,11,12,"afam","no","yes",29,"no","no","none","no","yes",11,"no","yes",4,2,"8",19,NA,"both","yes"
+"1840",315,12,7,"afam","no","yes",25,"no","no","none","no","yes",9,"no","yes",4,2,"8",24,NA,"both","no"
+"1841",375,13,10,"other","no","yes",29,"no","no","none","yes","yes",12,"no","yes",7,10,"8",33,85,"both","no"
+"1842",500,9,18,"afam","no","yes",33,"no","no","none","no","yes",9,"no","yes",1,2,"8",23,NA,"both","no"
+"1843",500,12,7,"other","yes","yes",25,"no","no","none","no","no",10,"no","yes",1,6,"8",30,116,"both","no"
+"1844",350,12,14,"afam","yes","yes",32,"no","no","none","no","yes",12,"no","yes",3,1,"8",24,85,"both","no"
+"1845",525,10,13,"afam","yes","yes",29,"no","no","none","no","yes",9,"no","yes",3,1,"8",20,85,"both","yes"
+"1846",500,17,3,"other","no","yes",26,"no","no","none","no","yes",11,"no","yes",13,12,"2",37,NA,"both","yes"
+"1847",385,16,3,"other","yes","yes",25,"no","no","none","no","yes",9,"no","yes",13,12,"2",21,122,"both","yes"
+"1848",100,9,10,"afam","yes","yes",25,"yes","no","private","no","yes",9,"yes","yes",12,8,"5",25,NA,"both","yes"
+"1849",300,15,5,"afam","yes","yes",26,"yes","no","private","no","yes",10,"yes","yes",6,7,"8",26,74,"step","yes"
+"1850",188,12,6,"afam","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",6,7,"8",24,NA,"step","yes"
+"1851",355,8,19,"afam","yes","yes",33,"yes","no","private","no","yes",8,"yes","yes",9.9399995803833,3,"9",19,NA,"singlemom","yes"
+"1852",267,12,7,"afam","yes","yes",25,"yes","no","private","no","yes",10,"yes","yes",4,4,"8",19,110,"both","no"
+"1853",267,12,10,"afam","yes","yes",28,"yes","no","private","no","yes",12,"yes","yes",6,7,"8",30,NA,"both","no"
+"1854",586,12,16,"other","yes","yes",34,"yes","no","private","no","yes",12,"yes","yes",8,8,"8",38,NA,"both","yes"
+"1855",375,12,6,"afam","no","yes",24,"yes","no","public","no","no",8,"no","yes",9.9399995803833,5,"9",27,NA,"other","yes"
+"1856",346,12,13,"afam","no","yes",31,"yes","no","public","no","no",12,"no","yes",9.9399995803833,10.25,"9",27,NA,"other","no"
+"1857",545,16,6,"other","yes","yes",28,"yes","no","public","no","yes",13,"no","yes",14,12,"2",43,123,"both","yes"
+"1858",562,14,5,"other","yes","yes",25,"yes","no","public","no","yes",9,"no","yes",14,12,"2",31,122,"both","yes"
+"1859",577,12,8,"other","yes","no",26,"yes","no","public","no","yes",10,"no","yes",12,12,"3",24,86,"both","yes"
+"1860",890,15,5,"other","yes","no",26,"yes","no","public","no","yes",9,"no","yes",10,12,"6",30,80,"both","yes"
+"1861",625,13,7,"other","no","yes",26,"yes","no","public","no","yes",10,"no","yes",6,10.25,"9",30,96,"both","no"
+"1862",416,13,7,"other","no","yes",26,"yes","no","public","no","no",11,"no","yes",6,12,"6",31,112,"both","yes"
+"1863",683,6,19,"other","no","yes",31,"yes","no","public","no","yes",6,"no","yes",4,10.25,"9",28,NA,"both","no"
+"1864",625,11,13,"afam","yes","yes",30,"no","yes","none","no","yes",11,"yes","yes",9.9399995803833,9,"9",20,NA,"both","yes"
+"1865",310,9,12,"afam","yes","yes",27,"no","yes","none","no","no",9,"yes","yes",9.9399995803833,10.25,"9",34,NA,"singlemom","no"
+"1866",664,12,10,"afam","yes","yes",28,"no","yes","none","no","yes",12,"yes","yes",9.9399995803833,10.25,"9",16,77,"singlemom","yes"
+"1867",286,11,15,"other","yes","yes",32,"no","yes","none","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",22,92,"both","no"
+"1868",600,12,8,"afam","yes","yes",26,"no","yes","none","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",36,NA,"other","no"
+"1869",742,16,7,"afam","yes","no",29,"no","yes","none","no","no",14,"yes","yes",12,12,"3",37,89,"both","no"
+"1870",225,11,10,"afam","yes","yes",27,"no","yes","none","no","no",9,"yes","yes",2,5,"8",28,NA,"both","no"
+"1871",623,12,16,"other","yes","yes",34,"no","yes","none","no","yes",12,"yes","yes",9.9399995803833,8,"9",41,87,"both","no"
+"1872",603,12,6,"other","yes","yes",24,"no","yes","none","no","no",8,"yes","yes",9.9399995803833,8,"9",29,NA,"singlemom","yes"
+"1873",550,12,11,"other","yes","yes",29,"no","yes","none","no","yes",12,"yes","yes",11,10,"7",39,95,"both","no"
+"1874",801,16,5,"other","no","yes",27,"no","yes","none","no","yes",11,"no","yes",10,12,"6",39,117,"both","no"
+"1875",330,14,10,"other","yes","yes",30,"yes","no","private","no","yes",14,"yes","yes",12,12,"3",40,67,"both","yes"
+"1876",684,16,12,"other","yes","yes",34,"yes","no","private","no","yes",16,"yes","yes",4,12,"6",50,112,"both","yes"
+"1877",1000,15,8,"other","yes","no",29,"yes","no","private","no","no",13,"yes","yes",18,12,"2",41,119,"both","yes"
+"1878",1091,16,8,"other","yes","yes",30,"yes","no","private","no","no",12,"yes","yes",9.9399995803833,10.25,"9",30,103,"both","no"
+"1879",476,13,5,"afam","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",9.9399995803833,10,"9",23,NA,"singlemom","no"
+"1880",500,12,6,"afam","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",9.9399995803833,3,"9",30,NA,"both","yes"
+"1881",950,14,5,"afam","yes","yes",25,"yes","no","private","no","yes",9,"yes","yes",6,10,"8",31,NA,"both","yes"
+"1882",1142,18,6,"afam","yes","yes",30,"yes","no","private","no","yes",15,"yes","yes",14,12,"2",36,NA,"both","yes"
+"1883",450,12,14,"afam","yes","yes",32,"yes","no","private","no","yes",12,"yes","yes",9.9399995803833,9,"9",29,74,"singlemom","yes"
+"1884",448,12,7,"other","yes","yes",25,"yes","no","private","yes","yes",8,"yes","yes",7,12,"6",32,NA,"step","yes"
+"1885",361,16,5,"other","yes","yes",27,"yes","no","private","no","no",11,"yes","yes",12,12,"3",35,112,"both","yes"
+"1886",535,13,5,"other","yes","yes",24,"yes","no","private","no","yes",8,"yes","yes",12,12,"3",19,NA,"both","yes"
+"1887",616,17,2,"other","yes","yes",25,"yes","no","private","no","yes",9,"yes","yes",6,8,"8",21,102,"both","yes"
+"1888",490,14,4,"other","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",17,14,"1",34,NA,"both","yes"
+"1889",415,12,8,"other","yes","yes",26,"yes","no","private","no","yes",9,"yes","yes",8,9,"8",24,95,"both","yes"
+"1890",250,13,5,"afam","yes","yes",24,"no","yes","none","no","no",7,"yes","yes",9.9399995803833,9,"9",21,NA,"singlemom","no"
+"1891",500,13,9,"other","no","yes",28,"no","yes","none","no","yes",10,"no","yes",9,6,"8",33,81,"both","yes"
+"1892",1155,18,4,"other","yes","yes",28,"no","yes","none","no","yes",13,"no","yes",10,10,"7",48,124,"both","no"
+"1893",525,12,14,"other","no","yes",32,"no","yes","none","no","yes",12,"no","yes",8,7,"8",38,89,"both","no"
+"1894",300,11,7,"other","yes","yes",24,"no","yes","none","no","yes",7,"no","yes",9.9399995803833,12,"4",23,NA,"singlemom","yes"
+"1895",308,9,11,"other","no","yes",26,"no","yes","none","no","yes",8,"no","yes",8,12,"6",14,NA,"both","no"
+"1896",625,8,15,"other","no","yes",29,"no","yes","none","no","yes",8,"no","yes",8,12,"6",30,91,"both","no"
+"1897",350,13,5,"other","yes","yes",24,"no","yes","none","yes","no",9,"no","yes",8,7,"8",35,117,"both","yes"
+"1898",673,16,8,"other","no","yes",30,"no","yes","none","no","yes",15,"no","yes",7,11,"8",46,109,"both","yes"
+"1899",558,13,9,"other","no","yes",28,"no","yes","none","yes","yes",8,"no","yes",9.9399995803833,7,"9",26,NA,"both","no"
+"1900",351,12,10,"afam","no","yes",28,"no","yes","none","no","yes",12,"no","yes",6,7,"8",34,88,"both","yes"
+"1901",723,12,10,"afam","yes","no",28,"no","yes","none","no","yes",12,"no","yes",5,9,"8",31,67,"both","no"
+"1902",569,15,6,"afam","no","yes",27,"no","yes","none","yes","yes",12,"no","yes",9,12,"6",32,81,"other","yes"
+"1903",240,11,8,"afam","yes","yes",25,"no","yes","none","no","no",10,"yes","yes",6,12,"6",35,81,"both","yes"
+"1904",450,8,18,"other","no","yes",32,"no","yes","none","no","yes",8,"no","yes",7,4,"8",34,NA,"both","no"
+"1905",338,11,16,"afam","no","yes",33,"no","yes","none","no","yes",11,"no","yes",3,3,"8",39,NA,"both","yes"
+"1906",288,10,13,"afam","no","yes",29,"no","yes","none","no","yes",10,"no","yes",0,7,"8",23,NA,"both","no"
+"1907",413,17,1,"other","no","yes",24,"yes","no","public","no","yes",9,"no","yes",12,12,"3",31,119,"both","yes"
+"1908",848,12,11,"other","no","yes",29,"yes","no","public","no","yes",12,"no","yes",8,12,"6",28,83,"both","yes"
+"1909",874,16,10,"other","no","yes",32,"yes","no","public","no","yes",16,"no","yes",7,16,"6",38,101,"both","yes"
+"1910",295,11,12,"afam","no","yes",29,"yes","no","public","no","yes",10,"no","yes",12,10.25,"5",27,NA,"both","yes"
+"1911",300,8,12,"afam","no","yes",26,"yes","no","public","no","no",6,"no","yes",9.9399995803833,10.25,"9",12,NA,"both","no"
+"1912",289,16,4,"afam","yes","yes",26,"yes","no","public","no","yes",10,"no","yes",9,12,"6",41,NA,"both","yes"
+"1913",298,9,14,"afam","no","yes",29,"yes","no","public","no","no",7,"no","yes",6,14,"6",19,NA,"both","no"
+"1914",361,5,21,"afam","no","yes",32,"yes","no","public","no","yes",5,"no","yes",2,5,"8",14,NA,"both","no"
+"1915",1097,12,12,"afam","yes","no",30,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,10.25,"9",23,NA,"other","no"
+"1916",465,16,11,"afam","yes","no",33,"yes","no","public","no","yes",13,"yes","yes",9.9399995803833,8,"9",23,NA,"singlemom","yes"
+"1917",265,14,7,"afam","no","yes",27,"yes","no","public","no","yes",9,"no","yes",9.9399995803833,8,"9",27,75,"both","yes"
+"1918",839,16,8,"other","yes","yes",30,"yes","no","public","no","yes",15,"no","yes",12,12,"3",43,109,"singlemom","yes"
+"1919",577,16,9,"other","no","yes",31,"yes","no","public","yes","yes",15,"no","yes",8,14,"6",45,111,"both","yes"
+"1920",225,10,11,"afam","no","yes",27,"yes","no","public","no","yes",8,"no","yes",5,5,"8",13,NA,"both","no"
+"1921",235,12,7,"afam","no","yes",25,"yes","no","public","no","yes",7,"no","yes",5,5,"8",18,NA,"both","no"
+"1922",250,12,8,"afam","yes","yes",26,"yes","no","public","no","yes",8,"no","yes",2,8,"8",17,NA,"both","no"
+"1923",196,12,10,"other","no","yes",28,"yes","no","public","no","yes",12,"no","yes",4,1,"8",44,104,"both","no"
+"1924",475,12,14,"afam","no","yes",32,"yes","no","public","no","yes",11,"no","yes",0,4,"8",25,72,"both","no"
+"1925",500,11,9,"other","no","yes",26,"yes","no","public","no","no",9,"no","yes",7,4,"8",32,87,"both","yes"
+"1926",334,8,15,"afam","no","yes",29,"yes","no","public","no","yes",8,"no","yes",9.9399995803833,1,"9",20,NA,"both","no"
+"1927",454,10,11,"afam","no","yes",27,"yes","no","public","no","no",10,"no","yes",9.9399995803833,1,"9",26,NA,"both","no"
+"1928",945,16,3,"other","yes","yes",25,"yes","no","public","no","yes",10,"no","yes",16,12,"2",41,106,"both","yes"
+"1929",291,13,5,"other","no","yes",24,"yes","no","public","no","yes",8,"no","yes",8,16,"6",25,NA,"both","yes"
+"1930",520,16,5,"other","no","yes",27,"yes","no","private","yes","no",11,"no","yes",8,10,"8",49,118,"both","yes"
+"1931",474,15,7,"other","no","yes",28,"yes","no","private","no","yes",13,"no","yes",5,11,"8",30,103,"both","no"
+"1932",296,8,18,"other","no","yes",32,"yes","no","private","no","yes",8,"no","yes",8,6,"8",36,NA,"both","no"
+"1933",420,12,15,"other","yes","yes",33,"yes","no","private","no","yes",7,"yes","yes",3,10.25,"9",28,NA,"both","yes"
+"1934",519,12,8,"other","no","yes",26,"yes","no","private","no","yes",10,"no","yes",9.9399995803833,10.25,"9",28,95,"other","yes"
+"1935",316,12,14,"other","no","yes",32,"yes","no","private","no","yes",12,"no","yes",8,8,"8",32,NA,"both","no"
+"1936",375,12,10,"other","no","yes",28,"yes","no","private","no","no",11,"no","yes",8,6,"8",40,91,"both","yes"
+"1937",550,13,6,"afam","no","yes",25,"yes","no","private","no","yes",9,"no","yes",8,8,"8",28,NA,"both","no"
+"1938",944,8,19,"other","no","yes",33,"yes","no","private","no","yes",8,"no","yes",9.9399995803833,10.25,"9",36,NA,"other","no"
+"1939",475,16,5,"other","yes","yes",27,"yes","no","public","no","yes",10,"yes","yes",12,12,"3",34,101,"both","yes"
+"1940",393,16,5,"other","yes","yes",27,"yes","no","public","no","yes",11,"yes","yes",11,12,"6",37,121,"both","yes"
+"1941",750,11,7,"other","yes","yes",24,"yes","no","public","no","no",8,"yes","yes",12,10,"5",37,NA,"both","yes"
+"1942",492,13,9,"other","yes","yes",28,"yes","no","public","yes","yes",8,"yes","yes",3,3,"8",26,NA,"both","no"
+"1943",500,12,10,"afam","yes","yes",28,"yes","no","public","no","yes",12,"yes","yes",8,8,"8",35,65,"both","yes"
+"1944",268,11,7,"afam","yes","yes",24,"yes","no","public","no","yes",8,"yes","yes",1,3,"8",14,NA,"both","no"
+"1945",475,12,15,"afam","yes","yes",33,"yes","no","public","no","yes",12,"yes","yes",9.9399995803833,12,"4",30,85,"singlemom","no"
+"1946",365,12,13,"afam","yes","yes",31,"yes","yes","private","no","yes",12,"yes","yes",9.9399995803833,8,"9",34,70,"singlemom","yes"
+"1947",281,11,9,"afam","yes","yes",26,"yes","yes","private","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",10,65,"singlemom","no"
+"1948",250,14,4,"afam","yes","yes",24,"yes","yes","private","no","no",7,"yes","yes",9.9399995803833,10.25,"9",22,NA,"other","no"
+"1949",263,12,15,"afam","yes","yes",33,"yes","yes","private","no","yes",12,"yes","yes",9.9399995803833,6,"9",33,90,"singlemom","no"
+"1950",1012,18,5,"other","yes","no",29,"yes","yes","private","no","yes",14,"yes","yes",11,12,"6",47,110,"both","yes"
+"1951",833,17,5,"other","yes","yes",28,"yes","yes","private","no","yes",13,"yes","yes",11,12,"6",54,102,"both","yes"
+"1952",313,16,2,"other","yes","no",24,"yes","yes","private","no","no",8,"yes","yes",11,12,"6",35,NA,"both","yes"
+"1953",962,14,12,"other","yes","yes",32,"yes","yes","private","no","yes",14,"yes","yes",12,12,"3",31,NA,"both","yes"
+"1954",346,9,14,"afam","yes","yes",29,"yes","yes","private","no","yes",9,"yes","yes",7,5,"8",20,67,"both","no"
+"1955",300,11,8,"afam","yes","yes",25,"yes","yes","private","no","no",9,"yes","yes",5,10.25,"9",20,68,"other","no"
+"1956",375,11,15,"afam","yes","yes",32,"yes","yes","private","no","no",10,"yes","yes",9.9399995803833,11,"9",37,88,"singlemom","yes"
+"1957",500,14,4,"other","yes","yes",24,"yes","yes","private","no","yes",9,"yes","yes",10,8,"8",34,NA,"both","no"
+"1958",346,12,7,"other","yes","yes",25,"yes","yes","private","yes","yes",9,"yes","yes",6,9,"8",22,NA,"both","yes"
+"1959",319,9,19,"afam","yes","yes",34,"yes","no","public","no","yes",8,"yes","yes",12,6,"5",16,NA,"both","yes"
+"1960",400,11,9,"afam","yes","yes",26,"yes","no","public","no","yes",8,"yes","yes",12,6,"5",22,NA,"both","no"
+"1961",548,13,8,"afam","yes","yes",27,"yes","no","public","no","yes",11,"yes","yes",9,8,"8",37,NA,"singlemom","no"
+"1962",230,7,12,"afam","yes","yes",25,"yes","no","public","no","no",0,"yes","yes",9.9399995803833,12,"4",19,NA,"singlemom",NA
+"1963",418,12,8,"other","no","yes",26,"yes","no","public","no","yes",10,"yes","yes",7,7,"8",34,94,"both","no"
+"1964",527,13,10,"other","yes","yes",29,"yes","no","public","yes","yes",12,"yes","yes",11,10,"7",43,NA,"both","no"
+"1965",865,10,17,"other","yes","yes",33,"yes","no","public","no","yes",10,"yes","yes",8,12,"6",38,97,"both","no"
+"1966",519,13,15,"other","yes","yes",34,"yes","no","public","no","yes",12,"yes","yes",9.9399995803833,6,"9",41,98,"singlemom","no"
+"1967",335,11,12,"other","yes","yes",29,"yes","no","public","no","no",7,"yes","yes",8,8,"8",30,NA,"both","no"
+"1968",865,13,14,"other","yes","yes",33,"yes","no","public","no","yes",12,"yes","yes",9.9399995803833,12,"4",48,101,"both","no"
+"1969",520,8,13,"other","no","yes",27,"yes","no","public","no","yes",7,"yes","yes",7,10.25,"9",33,NA,"other","no"
+"1970",855,17,4,"other","yes","yes",27,"yes","no","public","no","yes",12,"yes","yes",16,12,"2",38,115,"both","yes"
+"1971",316,12,6,"other","no","yes",24,"yes","no","public","no","yes",8,"yes","yes",6,9,"8",32,NA,"both","no"
+"1972",831,18,9,"other","yes","yes",33,"yes","no","public","no","yes",17,"yes","yes",18,17,"1",44,122,"both","yes"
+"1973",875,16,9,"other","yes","yes",31,"yes","no","public","no","yes",14,"yes","yes",18,17,"1",38,117,"both","yes"
+"1974",1374,14,13,"other","yes","yes",33,"yes","no","public","no","yes",12,"yes","yes",4,8,"8",45,105,"both","yes"
+"1975",451,16,12,"other","yes","yes",34,"yes","yes","public","no","no",13,"yes","yes",9.9399995803833,8,"9",36,113,"singlemom","no"
+"1976",684,18,10,"other","no","yes",34,"yes","yes","private","no","yes",17,"yes","yes",12,17,"2",44,101,"both","yes"
+"1977",435,13,9,"other","yes","yes",28,"yes","yes","private","yes","no",8,"yes","yes",9.9399995803833,12,"4",39,NA,"singlemom","no"
+"1978",913,13,13,"other","yes","yes",32,"yes","yes","private","no","yes",12,"yes","yes",12,12,"3",36,113,"both","yes"
+"1979",855,13,14,"other","no","yes",33,"yes","yes","private","no","yes",12,"yes","yes",9.9399995803833,12,"4",31,88,"both","yes"
+"1980",600,10,18,"other","yes","yes",34,"yes","yes","private","no","yes",8,"yes","yes",9.9399995803833,10,"9",25,NA,"singlemom","no"
+"1981",256,12,10,"afam","yes","yes",28,"yes","yes","private","no","no",12,"yes","yes",9.9399995803833,10.25,"9",22,NA,"both","no"
+"1982",375,12,11,"afam","yes","yes",29,"yes","yes","private","no","no",12,"yes","yes",9.9399995803833,12,"4",41,93,"singlemom","yes"
+"1983",441,16,5,"afam","yes","yes",27,"yes","yes","private","no","yes",11,"yes","yes",9.9399995803833,5,"9",29,117,"singlemom","yes"
+"1984",405,13,6,"afam","yes","yes",25,"yes","yes","private","no","yes",8,"yes","yes",9.9399995803833,5,"9",29,NA,"singlemom","yes"
+"1985",410,12,14,"afam","yes","yes",32,"yes","yes","private","no","no",12,"yes","yes",9.9399995803833,7,"9",39,83,"singlemom","yes"
+"1986",300,15,6,"other","yes","yes",27,"yes","yes","private","yes","no",12,"yes","yes",15,12,"2",35,103,"both","yes"
+"1987",693,16,4,"other","yes","yes",26,"yes","yes","private","no","yes",11,"yes","yes",14,16,"1",27,113,"both","yes"
+"1988",1012,18,6,"other","yes","no",30,"yes","yes","private","no","yes",15,"yes","yes",9.9399995803833,10,"9",38,124,"both","yes"
+"1989",452,15,5,"afam","yes","yes",26,"no","yes","none","no","yes",11,"yes","yes",15,12,"2",33,123,"both","yes"
+"1990",388,12,10,"other","yes","yes",28,"no","yes","none","no","yes",8,"yes","yes",11,12,"6",42,NA,"both","yes"
+"1991",492,18,3,"other","no","yes",27,"no","yes","none","no","yes",11,"yes","yes",13,16,"1",32,98,"both","yes"
+"1992",313,5,20,"other","no","yes",31,"no","yes","none","no","yes",5,"yes","yes",9.9399995803833,10.25,"9",12,NA,"other","no"
+"1993",577,14,6,"other","yes","yes",26,"yes","no","private","no","no",11,"yes","yes",12,12,"3",32,107,"both","yes"
+"1994",375,12,6,"other","yes","yes",24,"yes","no","private","no","no",7,"yes","yes",12,12,"3",31,NA,"both","yes"
+"1995",655,12,15,"other","yes","no",33,"yes","no","private","no","yes",12,"yes","yes",9.9399995803833,10,"9",36,114,"singlemom","yes"
+"1996",709,16,4,"other","yes","yes",26,"yes","no","private","no","no",11,"yes","yes",10,11,"7",32,119,"both","yes"
+"1997",511,14,6,"afam","yes","yes",26,"yes","no","private","no","no",9,"yes","yes",3,9,"8",26,82,"other","no"
+"1998",625,12,16,"other","yes","yes",34,"yes","no","private","no","yes",12,"yes","yes",4,1,"8",40,89,"both","no"
+"1999",460,14,5,"other","yes","yes",25,"yes","no","private","no","no",10,"yes","yes",11,10,"7",32,111,"both","no"
+"2000",625,14,13,"other","yes","yes",33,"yes","no","private","no","no",10,"yes","yes",9,7,"8",44,104,"both","yes"
+"2001",575,12,10,"afam","yes","yes",28,"yes","no","private","no","no",12,"yes","yes",9.9399995803833,10.25,"9",30,65,"other","no"
+"2002",500,12,7,"afam","yes","yes",25,"yes","no","private","no","yes",8,"yes","yes",9.9399995803833,8,"9",14,NA,"singlemom","no"
+"2003",414,13,8,"afam","yes","no",27,"yes","no","private","yes","no",10,"yes","yes",9.9399995803833,4,"9",14,73,"other","no"
+"2004",471,13,7,"afam","yes","no",26,"yes","no","private","yes","no",11,"yes","yes",9.9399995803833,10.25,"9",27,77,"other","no"
+"2005",520,12,11,"afam","yes","yes",29,"yes","no","private","no","yes",12,"yes","yes",4,3,"8",18,74,"other","no"
+"2006",750,13,8,"afam","yes","no",27,"yes","no","private","no","yes",8,"yes","yes",10,7,"8",22,NA,"both","no"
+"2007",490,12,7,"afam","yes","yes",25,"yes","no","private","no","yes",9,"yes","yes",4,3,"8",22,77,"both","no"
+"2008",425,18,7,"afam","yes","no",31,"yes","no","private","no","yes",14,"no","yes",11,12,"6",38,98,"both","yes"
+"2009",535,12,14,"afam","yes","yes",32,"yes","no","private","no","yes",12,"yes","yes",9.9399995803833,10.25,"9",25,75,"other","no"
+"2010",745,13,7,"other","yes","yes",26,"no","no","none","no","yes",11,"yes","yes",12,12,"3",28,97,"both","yes"
+"2011",400,12,6,"other","yes","yes",24,"no","no","none","no","yes",8,"yes","yes",12,12,"3",42,NA,"both","yes"
+"2012",320,12,10,"other","yes","yes",28,"no","no","none","no","yes",12,"yes","yes",16,16,"1",27,96,"both","yes"
+"2013",606,17,6,"other","yes","yes",29,"no","no","none","no","yes",13,"yes","yes",16,14,"1",43,99,"both","yes"
+"2014",563,11,7,"other","yes","yes",24,"no","no","none","no","yes",7,"yes","yes",11,4,"8",16,NA,"step","yes"
+"2015",325,12,9,"afam","yes","yes",27,"no","no","none","no","yes",11,"yes","yes",2,6,"8",35,68,"both","no"
+"2016",821,13,10,"other","yes","yes",29,"no","no","none","no","yes",12,"yes","yes",12,12,"3",51,83,"both","no"
+"2017",810,12,14,"other","yes","yes",32,"no","no","none","no","yes",11,"yes","yes",9.9399995803833,12,"4",40,97,"singlemom","no"
+"2018",374,12,8,"other","yes","yes",26,"no","no","none","no","no",10,"yes","yes",12,12,"3",37,98,"both","yes"
+"2019",300,12,14,"other","yes","yes",32,"no","no","none","no","yes",12,"yes","yes",12,12,"3",48,95,"both","yes"
+"2020",619,12,11,"other","yes","yes",29,"yes","yes","private","no","yes",12,"yes","yes",9,12,"6",39,NA,"both","yes"
+"2021",641,18,8,"other","no","yes",32,"yes","yes","private","no","yes",15,"yes","yes",9.9399995803833,13,"4",49,103,"both","yes"
+"2022",585,12,13,"other","yes","yes",31,"yes","yes","private","no","yes",12,"yes","yes",6,6,"8",NA,105,"both","no"
+"2023",587,12,12,"other","yes","yes",30,"yes","yes","private","no","yes",9,"yes","yes",6,10.25,"9",27,NA,"both","no"
+"2024",533,12,6,"afam","yes","yes",24,"yes","yes","private","no","yes",9,"yes","yes",12,12,"3",25,NA,"both","yes"
+"2025",325,12,12,"afam","yes","yes",30,"yes","no","public","no","no",12,"yes","yes",9.9399995803833,5,"9",16,86,"both","no"
+"2026",655,13,7,"afam","yes","yes",26,"yes","no","public","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",30,102,"singlemom","no"
+"2027",617,13,6,"afam","yes","yes",25,"yes","no","public","no","yes",10,"yes","yes",12,9,"5",34,95,"both","yes"
+"2028",602,12,6,"afam","yes","yes",24,"yes","no","public","no","yes",9,"yes","yes",4,9,"8",28,NA,"both","yes"
+"2029",550,16,4,"afam","yes","yes",26,"yes","no","public","no","no",11,"yes","yes",3,7,"8",35,100,"both","yes"
+"2030",686,16,3,"afam","yes","yes",25,"yes","no","public","no","yes",9,"yes","yes",3,7,"8",24,NA,"both","yes"
+"2031",625,10,14,"afam","yes","yes",30,"yes","no","public","no","yes",10,"yes","yes",3,8,"8",20,81,"both","no"
+"2032",440,11,14,"afam","yes","yes",31,"yes","no","public","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",NA,NA,"other",NA
+"2033",153,6,21,"afam","yes","yes",33,"yes","no","public","no","no",6,"yes","yes",9.9399995803833,12,"4",NA,NA,"singlemom","no"
+"2034",595,10,11,"afam","yes","yes",27,"yes","no","public","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",22,NA,"step","yes"
+"2035",462,11,10,"afam","yes","yes",27,"yes","no","public","yes","yes",8,"yes","yes",7,7,"8",29,NA,"singlemom","yes"
+"2036",300,11,9,"afam","yes","yes",26,"yes","no","public","no","no",7,"yes","yes",9.9399995803833,7,"9",20,NA,"singlemom","yes"
+"2037",500,10,15,"afam","yes","yes",31,"yes","no","public","no","yes",10,"yes","yes",10,6,"8",27,85,"both","yes"
+"2038",404,10,13,"afam","yes","yes",29,"yes","no","public","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",20,86,"other","yes"
+"2039",275,10,16,"afam","yes","yes",32,"yes","no","public","no","yes",10,"yes","yes",12,12,"3",23,79,"both","no"
+"2040",400,8,18,"afam","no","yes",32,"yes","no","public","no","yes",5,"no","yes",9.9399995803833,8,"9",11,NA,"both","yes"
+"2041",600,18,4,"other","no","yes",28,"yes","no","public","no","yes",13,"no","yes",9.9399995803833,4,"9",42,101,"singlemom","yes"
+"2042",577,13,8,"other","no","yes",27,"yes","no","public","no","yes",12,"no","yes",6,8,"8",33,100,"both","no"
+"2043",375,12,9,"other","no","yes",27,"yes","no","public","no","yes",12,"no","yes",6,8,"8",24,84,"both","no"
+"2044",304,12,8,"other","no","yes",26,"yes","no","public","no","yes",10,"no","yes",6,8,"8",24,74,"both","no"
+"2045",282,12,10,"afam","no","yes",28,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,8,"9",33,NA,"singlemom","no"
+"2046",275,14,8,"afam","no","yes",28,"yes","no","public","no","no",11,"no","yes",9.9399995803833,10.25,"9",25,86,"other","no"
+"2047",635,12,7,"other","no","yes",25,"yes","no","public","no","yes",10,"no","yes",12,12,"3",32,NA,"both","yes"
+"2048",711,18,1,"afam","yes","no",25,"yes","no","public","no","no",9,"no","yes",10,10,"7",35,NA,"both","no"
+"2049",959,13,9,"afam","yes","no",28,"yes","no","public","no","yes",8,"no","yes",9.9399995803833,10.25,"9",29,NA,"other","no"
+"2050",641,16,7,"afam","no","yes",29,"yes","no","public","no","yes",13,"yes","yes",9.9399995803833,10.25,"9",25,92,"other","no"
+"2051",444,13,5,"other","no","yes",24,"yes","no","public","no","yes",6,"no","yes",2,10.25,"9",28,NA,"other","no"
+"2052",235,9,19,"afam","yes","yes",34,"yes","no","public","no","yes",7,"no","yes",9.9399995803833,10.25,"9",10,NA,"other","no"
+"2053",475,15,4,"afam","yes","yes",25,"yes","no","public","no","no",8,"no","yes",7,8,"8",25,NA,"both","no"
+"2054",252,12,8,"afam","no","yes",26,"yes","no","public","no","no",8,"no","yes",9.9399995803833,6,"9",25,NA,"singlemom","no"
+"2055",635,14,7,"other","yes","yes",27,"yes","no","public","no","yes",12,"no","yes",5,11,"8",28,107,"both","no"
+"2056",390,13,7,"afam","no","yes",26,"yes","no","public","no","yes",9,"no","yes",9.9399995803833,10.25,"9",22,NA,"other","no"
+"2057",413,9,18,"afam","no","yes",33,"yes","no","public","no","yes",8,"no","yes",9.9399995803833,3,"9",19,NA,"both",NA
+"2058",400,11,12,"afam","yes","no",29,"yes","no","public","no","yes",10,"no","yes",9.9399995803833,7,"9",28,NA,"singlemom","no"
+"2059",288,8,11,"afam","no","yes",25,"yes","no","public","no","yes",6,"no","yes",9.9399995803833,7,"9",12,NA,"singlemom","no"
+"2060",360,12,7,"afam","yes","yes",25,"yes","no","public","no","no",8,"no","yes",9.9399995803833,10.25,"9",10,NA,"other","no"
+"2061",673,12,14,"other","no","yes",32,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,6,"9",32,93,"step","no"
+"2062",393,10,18,"afam","yes","yes",34,"no","yes","none","no","no",10,"yes","yes",6,12,"6",16,NA,"both","no"
+"2063",577,16,4,"afam","yes","yes",26,"no","yes","none","no","yes",9,"yes","yes",6,12,"6",27,NA,"both","no"
+"2064",188,11,9,"afam","yes","yes",26,"no","yes","none","no","no",8,"yes","yes",2,8,"8",20,NA,"both","no"
+"2065",285,5,16,"afam","yes","yes",27,"no","yes","none","no","no",5,"yes","yes",9.9399995803833,10,"9",NA,NA,"other","no"
+"2066",375,9,19,"afam","yes","yes",34,"no","yes","none","no","no",9,"yes","yes",9.9399995803833,6,"9",18,69,"both","no"
+"2067",770,17,7,"other","yes","yes",30,"no","yes","none","no","yes",14,"yes","yes",18,17,"1",41,113,"both","yes"
+"2068",558,17,3,"other","yes","no",26,"no","yes","none","no","yes",10,"yes","yes",9.9399995803833,16,"4",34,114,"singlemom","yes"
+"2069",1763,18,4,"other","yes","no",28,"no","yes","none","no","no",12,"yes","yes",9.9399995803833,12,"4",42,126,"both","yes"
+"2070",695,12,16,"other","yes","yes",34,"no","yes","none","no","no",12,"yes","yes",7,8,"8",37,92,"both","yes"
+"2071",489,10,8,"other","no","no",24,"no","yes","none","no","yes",7,"yes","yes",9.9399995803833,10.25,"9",22,NA,"other","no"
+"2072",509,12,6,"other","yes","yes",24,"no","no","none","no","no",9,"no","yes",12,9,"5",44,127,"both","no"
+"2073",818,12,15,"other","no","yes",33,"no","no","none","no","no",12,"no","yes",9.9399995803833,6,"9",44,109,"step","yes"
+"2074",275,7,17,"other","no","yes",30,"no","no","none","no","yes",7,"no","yes",5,8,"8",42,NA,"both","no"
+"2075",600,12,12,"other","no","yes",30,"no","no","none","no","yes",12,"no","yes",8,10,"8",42,97,"step","no"
+"2076",577,13,6,"other","yes","yes",25,"yes","no","public","yes","yes",8,"yes","yes",9.9399995803833,1,"9",30,NA,"both","no"
+"2077",230,14,4,"other","yes","yes",24,"yes","no","public","no","yes",8,"yes","yes",4,1,"8",24,NA,"both","no"
+"2078",507,11,9,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","yes",10,0,"8",30,66,"both","yes"
+"2079",606,12,8,"other","yes","yes",26,"yes","yes","public","no","yes",9,"yes","yes",9,9,"7",33,78,"both","yes"
+"2080",813,12,6,"other","yes","yes",24,"yes","yes","public","no","yes",8,"yes","yes",9,9,"7",NA,NA,"both","yes"
+"2081",285,10,9,"other","yes","yes",25,"yes","yes","public","no","no",8,"yes","yes",8,12,"6",38,NA,"both","yes"
+"2082",1068,16,9,"other","yes","yes",31,"yes","yes","public","no","yes",14,"yes","yes",14,16,"1",46,109,"both","yes"
+"2083",1635,14,12,"other","yes","yes",32,"yes","yes","public","no","yes",12,"yes","yes",12,8,"5",38,93,"both","yes"
+"2084",860,16,8,"other","no","yes",30,"yes","yes","public","no","yes",13,"yes","yes",14,4,"5",43,109,"both","yes"
+"2085",756,14,6,"other","yes","yes",26,"yes","yes","public","no","yes",10,"yes","yes",9.9399995803833,10.25,"9",40,105,"both","yes"
+"2086",750,15,4,"other","yes","yes",25,"yes","yes","public","no","yes",9,"yes","yes",16,16,"1",38,105,"both","no"
+"2087",438,12,14,"other","yes","yes",32,"yes","yes","public","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",36,104,"other","yes"
+"2088",1106,12,15,"other","yes","yes",33,"yes","yes","public","no","yes",12,"yes","yes",16,10,"5",30,66,"both","yes"
+"2089",291,17,7,"afam","yes","yes",30,"yes","yes","public","yes","no",14,"yes","yes",7,11,"8",43,122,"both","yes"
+"2090",332,12,8,"afam","yes","no",26,"yes","yes","public","no","yes",10,"yes","yes",6,11,"8",34,103,"both","yes"
+"2091",417,13,7,"other","no","yes",26,"yes","no","public","yes","yes",11,"no","yes",10,12,"6",39,100,"both","yes"
+"2092",625,13,11,"other","yes","yes",30,"yes","no","public","no","yes",12,"no","yes",8,8,"8",44,85,"both","no"
+"2093",462,12,9,"other","no","yes",27,"yes","no","public","no","yes",10,"no","yes",4,8,"8",26,81,"both","no"
+"2094",250,8,20,"other","no","yes",34,"yes","no","public","no","yes",8,"no","yes",8,10.25,"9",43,NA,"other","no"
+"2095",520,18,6,"other","no","no",30,"yes","no","public","no","yes",14,"no","yes",8,12,"6",47,105,"both","no"
+"2096",150,14,8,"other","yes","yes",28,"yes","no","public","no","no",10,"no","yes",6,8,"8",36,116,"both","no"
+"2097",400,14,5,"other","yes","no",25,"yes","no","public","no","yes",8,"no","yes",6,8,"8",26,NA,"both","no"
+"2098",385,18,5,"other","no","no",29,"yes","yes","public","no","yes",14,"yes","no",9.9399995803833,4,"9",45,121,"both","yes"
+"2099",577,15,13,"other","yes","no",34,"yes","yes","public","no","yes",14,"yes","no",9.9399995803833,12,"4",45,109,"singlemom","yes"
+"2100",538,18,10,"other","yes","no",34,"yes","yes","public","no","yes",16,"yes","no",13,14,"1",53,121,"both","yes"
+"2101",801,17,5,"other","yes","no",28,"yes","yes","public","yes","no",12,"no","no",18,16,"1",52,126,"both","yes"
+"2102",500,17,1,"other","yes","no",24,"yes","yes","public","yes","no",9,"yes","no",18,16,"1",39,120,"both","yes"
+"2103",894,13,10,"other","yes","no",29,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",40,78,"both","yes"
+"2104",625,14,7,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",12,12,"3",37,54,"step","yes"
+"2105",323,14,8,"other","no","no",28,"yes","yes","public","no","no",12,"yes","no",12,12,"3",37,60,"both","yes"
+"2106",577,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",8,8,"8",33,98,"both","no"
+"2107",427,12,7,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",40,NA,"both","no"
+"2108",241,10,15,"other","yes","no",31,"yes","yes","public","no","yes",10,"yes","no",8,12,"6",32,94,"both","no"
+"2109",758,17,5,"other","yes","no",28,"yes","yes","public","yes","yes",13,"yes","no",9,13,"6",36,128,"both","yes"
+"2110",1979,16,10,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",8,9,"8",43,94,"both","no"
+"2111",695,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",34,98,"step","no"
+"2112",491,16,4,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",12,16,"2",29,105,"both","yes"
+"2113",565,16,2,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,16,"2",32,NA,"both","yes"
+"2114",340,10,14,"other","yes","no",30,"yes","yes","public","no","no",10,"yes","no",11,12,"6",24,NA,"both","no"
+"2115",298,13,8,"other","yes","no",27,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,12,"4",25,87,"other","yes"
+"2116",308,13,6,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,12,"4",20,71,"other","no"
+"2117",1097,13,5,"other","yes","no",24,"yes","yes","public","no","yes",10,"yes","no",12,12,"3",25,117,"both","yes"
+"2118",413,11,7,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",17,12,"2",24,94,"both","yes"
+"2119",606,12,15,"other","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",36,NA,"other","no"
+"2120",500,12,7,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",8,11,"8",27,88,"both","no"
+"2121",589,15,4,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,12,"3",30,85,"both","yes"
+"2122",625,13,9,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",36,102,"other","yes"
+"2123",390,10,9,"other","yes","no",25,"yes","yes","public","no","yes",8,"yes","no",7,9,"8",21,NA,"both","yes"
+"2124",443,14,11,"other","yes","no",31,"yes","yes","public","yes","yes",13,"yes","no",8,12,"6",43,NA,"both","yes"
+"2125",707,13,7,"other","yes","no",26,"yes","yes","public","yes","yes",10,"yes","no",8,10.25,"9",39,NA,"other","no"
+"2126",778,16,5,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",12,13,"2",33,116,"both","yes"
+"2127",510,12,10,"afam","yes","no",28,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,10.25,"9",26,NA,"singlemom","no"
+"2128",442,17,2,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",10,12,"6",37,NA,"both","yes"
+"2129",400,13,7,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",9.9399995803833,8,"9",35,82,"singlemom","yes"
+"2130",1275,18,4,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",39,114,"both","yes"
+"2131",405,12,8,"afam","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,12,"4",18,NA,"singlemom","yes"
+"2132",673,12,10,"afam","yes","no",28,"yes","yes","public","no","no",12,"yes","no",12,11,"5",21,65,"step","yes"
+"2133",280,10,11,"afam","yes","no",27,"yes","yes","public","no","no",10,"yes","no",12,11,"5",22,84,"step","yes"
+"2134",350,10,8,"afam","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,10,"5",18,NA,"both","no"
+"2135",2003,18,6,"other","yes","no",30,"yes","yes","public","no","yes",15,"yes","no",12,12,"3",48,105,"both","yes"
+"2136",769,16,4,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","no",12,10.25,"5",40,101,"both","yes"
+"2137",866,16,7,"other","yes","no",29,"yes","yes","public","yes","no",13,"yes","no",9.9399995803833,12,"4",44,108,"both","yes"
+"2138",880,15,11,"other","yes","no",32,"yes","yes","public","yes","yes",12,"yes","no",12,12,"3",36,93,"both","yes"
+"2139",550,12,8,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","no",12,12,"3",34,96,"both","yes"
+"2140",610,14,8,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",7,7,"8",20,92,"both","no"
+"2141",577,13,6,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",12,12,"3",23,107,"both","no"
+"2142",148,12,7,"afam","yes","no",25,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,9,"9",27,NA,"singlemom","yes"
+"2143",824,16,7,"other","yes","no",29,"yes","yes","public","no","no",14,"yes","no",8,12,"6",39,106,"both","yes"
+"2144",700,14,6,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,0,"9",33,NA,"both","yes"
+"2145",750,18,3,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",5,3,"8",24,NA,"singlemom","no"
+"2146",700,17,11,"other","no","no",34,"yes","yes","public","yes","yes",17,"yes","no",9.9399995803833,10.25,"9",53,98,"singlemom","yes"
+"2147",692,18,8,"other","yes","no",32,"yes","yes","public","no","yes",16,"yes","no",14,14,"1",32,NA,"both","yes"
+"2148",308,11,10,"afam","yes","no",27,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,10.25,"9",38,73,"both","no"
+"2149",865,17,8,"other","no","no",31,"yes","yes","public","no","no",15,"yes","no",16,16,"1",49,119,"both","yes"
+"2150",693,14,4,"afam","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",2,10.25,"9",33,NA,"singlemom","yes"
+"2151",800,11,7,"afam","yes","no",24,"yes","yes","public","no",NA,8,"yes","no",9.9399995803833,9,"9",24,NA,"other","yes"
+"2152",673,14,12,"afam","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",12,8,"5",42,82,"both","yes"
+"2153",515,14,5,"other","yes","yes",25,"yes","yes","public","no","yes",10,"yes","no",12,12,"3",34,NA,"both","yes"
+"2154",712,16,9,"other","yes","no",31,"yes","yes","public","no","yes",14,"yes","no",16,12,"2",37,NA,"both","yes"
+"2155",845,13,6,"other","yes","no",25,"yes","yes","public","yes","yes",10,"yes","no",9.9399995803833,12,"4",31,115,"singlemom","yes"
+"2156",885,14,5,"other","yes","no",25,"yes","yes","public","yes","no",10,"yes","no",12,12,"3",28,77,"both","yes"
+"2157",693,14,7,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",9,12,"6",34,101,"both","yes"
+"2158",851,12,16,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",40,97,"both","yes"
+"2159",738,12,11,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",10,10,"7",34,110,"both","no"
+"2160",481,14,5,"other","yes","no",25,"yes","yes","public","yes","no",10,"yes","no",10,10,"7",28,86,"both","no"
+"2161",795,16,8,"other","yes","no",30,"yes","yes","public","no","yes",13,"yes","no",16,16,"1",43,126,"both","yes"
+"2162",579,13,13,"other","no","no",32,"yes","yes","public","no","no",13,"yes","no",8,12,"6",36,NA,"both","no"
+"2163",869,12,16,"other","yes","no",34,"yes","yes","public","no","no",12,"yes","no",12,12,"3",32,96,"both","no"
+"2164",577,16,5,"other","yes","no",27,"yes","yes","public","no","no",11,"yes","no",12,13,"2",40,117,"both","yes"
+"2165",1385,17,10,"other","yes","no",33,"yes","yes","public","no","yes",16,"yes","no",14,12,"2",44,111,"both","yes"
+"2166",1603,14,11,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",39,NA,"both","yes"
+"2167",675,12,12,"afam","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",8,8,"8",23,67,"both","yes"
+"2168",462,18,8,"other","yes","no",32,"yes","yes","public","no","no",15,"yes","no",13,12,"2",43,NA,"both","yes"
+"2169",663,12,11,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",24,NA,"step","yes"
+"2170",845,12,6,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",9.9399995803833,12,"4",36,NA,"singlemom","yes"
+"2171",657,12,15,"other","no","no",33,"yes","yes","public","no","yes",10,"yes","no",12,12,"3",31,102,"both","yes"
+"2172",1200,15,6,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",13,12,"2",42,95,"both","yes"
+"2173",770,13,14,"other","yes","no",33,"yes","yes","public","no","yes",8,"yes","no",0,5,"8",35,NA,"both","no"
+"2174",250,12,9,"afam","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",9.9399995803833,5,"9",29,NA,"other","yes"
+"2175",343,12,6,"other","yes","no",24,"yes","yes","public","no","no",6,"yes","no",0,4,"8",27,NA,"both","no"
+"2176",2115,12,16,"other","yes","no",34,"yes","yes","public","no","no",12,"yes","no",2,0,"8",22,64,"both","yes"
+"2177",1029,18,3,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,2,"9",35,NA,"singlemom","yes"
+"2178",713,12,7,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,2,"9",22,NA,"singlemom","yes"
+"2179",595,10,12,"other","yes","no",28,"yes","yes","public","no","yes",10,"yes","no",8,12,"6",39,118,"both","yes"
+"2180",833,15,11,"other","yes","yes",32,"yes","yes","public","no","yes",14,"yes","no",12,12,"3",41,104,"both","yes"
+"2181",400,15,7,"other","yes","no",28,"yes","yes","public","no","no",10,"yes","no",9.9399995803833,10.25,"9",20,107,"other","no"
+"2182",721,14,11,"afam","yes","no",31,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,7,"9",36,118,"singlemom","yes"
+"2183",167,12,13,"afam","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",32,71,"both","yes"
+"2184",467,14,7,"other","yes","no",27,"yes","yes","public","yes","yes",11,"yes","no",8,12,"6",39,114,"both","yes"
+"2185",643,18,3,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",13,13,"1",41,118,"both","yes"
+"2186",600,13,15,"other","yes","no",34,"yes","yes","public","no","yes",13,"yes","no",10,12,"6",37,75,"both","yes"
+"2187",400,12,6,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",13,10,"5",38,149,"step","yes"
+"2188",1000,13,5,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",12,12,"3",33,108,"both","yes"
+"2189",666,14,8,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",8,12,"6",26,108,"both","yes"
+"2190",553,16,2,"other","yes","no",24,"yes","no","private","no","yes",8,"yes","no",8,11,"8",32,NA,"both","yes"
+"2191",785,14,8,"other","yes","no",28,"yes","no","private","no","no",12,"yes","no",10,12,"6",45,112,"both","no"
+"2192",667,15,7,"other","yes","no",28,"yes","yes","public","yes","yes",12,"yes","no",13,12,"2",39,108,"both","no"
+"2193",300,10,9,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",8,8,"8",36,93,"both","yes"
+"2194",697,16,8,"other","yes","no",30,"yes","yes","public","no","yes",15,"yes","no",14,12,"2",38,119,"both","no"
+"2195",438,14,13,"other","no","no",33,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",35,94,"both","yes"
+"2196",685,13,6,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",9,11,"7",23,68,"both","no"
+"2197",414,14,6,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",7,6,"8",27,103,"both","yes"
+"2198",751,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",11,14,"6",33,104,"both","yes"
+"2199",231,13,7,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",16,16,"1",36,119,"both","yes"
+"2200",505,16,7,"other","yes","no",29,"yes","yes","public","no","yes",15,"yes","no",17,14,"1",36,90,"both","yes"
+"2201",600,16,8,"other","no","no",30,"yes","yes","public","no","yes",15,"yes","no",15,12,"2",44,129,"both","yes"
+"2202",1309,18,9,"other","yes","no",33,"yes","yes","public","no","yes",17,"yes","no",18,15,"1",48,NA,"both","yes"
+"2203",1058,18,8,"other","yes","no",32,"yes","yes","public","no","yes",17,"yes","no",9.9399995803833,18,"4",49,125,"both","yes"
+"2204",627,15,11,"other","yes","no",32,"yes","yes","public","yes","yes",14,"yes","no",13,11,"5",37,100,"both","yes"
+"2205",1050,16,11,"other","yes","no",33,"yes","no","public","no","yes",13,"yes","no",3,8,"8",40,112,"both","yes"
+"2206",983,18,8,"other","no","no",32,"yes","no","public","no","yes",16,"yes","no",12,16,"2",50,128,"both","yes"
+"2207",1282,18,10,"other","yes","no",34,"yes","no","public","no","yes",17,"yes","no",16,13,"1",47,84,"both","yes"
+"2208",818,12,8,"other","yes","no",26,"yes","no","public","no","yes",9,"yes","no",12,12,"3",40,84,"both","no"
+"2209",500,17,1,"other","yes","no",24,"yes","no","public","yes","no",9,"yes","no",16,16,"1",31,120,"both","yes"
+"2210",720,12,14,"other","yes","no",32,"yes","no","public","no","no",12,"yes","no",12,8,"5",38,97,"both","yes"
+"2211",538,12,11,"other","yes","no",29,"yes","no","public","no","no",12,"yes","no",7,12,"6",34,102,"both","yes"
+"2212",938,17,11,"other","no","no",34,"yes","no","public","no","yes",17,"yes","no",8,12,"6",49,NA,"both","yes"
+"2213",300,11,8,"other","yes","no",25,"yes","no","public","no","yes",9,"yes","no",8,9,"8",26,91,"both","no"
+"2214",781,11,15,"other","no","no",32,"yes","no","public","yes","yes",8,"yes","no",2,1,"8",31,NA,"both","no"
+"2215",650,8,20,"other","no","no",34,"yes","no","public","no","no",8,"yes","no",3,2,"8",33,NA,"both","no"
+"2216",996,18,5,"other","yes","no",29,"yes","no","public","no","yes",13,"no","no",12,12,"3",41,131,"both","yes"
+"2217",582,17,5,"other","yes","no",28,"yes","no","public","no","yes",13,"yes","no",12,12,"3",37,107,"both","yes"
+"2218",231,16,4,"other","yes","no",26,"yes","no","public","no","yes",10,"yes","no",12,12,"3",23,126,"both","yes"
+"2219",539,16,3,"other","no","no",25,"yes","no","public","no","yes",9,"yes","no",12,12,"3",32,107,"both","yes"
+"2220",628,15,13,"afam","yes","no",34,"yes","no","public","no","yes",12,"yes","no",8,8,"8",49,92,"singlemom","yes"
+"2221",674,12,10,"afam","yes","no",28,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,10.25,"9",30,NA,"other","yes"
+"2222",231,16,5,"other","yes","no",27,"yes","no","public","no","yes",12,"yes","no",12,12,"3",32,92,"both","yes"
+"2223",716,18,5,"other","yes","no",29,"yes","no","public","no","yes",14,"yes","no",12,12,"3",40,119,"both","yes"
+"2224",286,13,5,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,12,"3",32,NA,"both","yes"
+"2225",500,15,5,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",12,12,"3",41,76,"both","yes"
+"2226",312,16,5,"other","yes","no",27,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,10.25,"9",40,NA,"step","yes"
+"2227",200,11,8,"other","yes","no",25,"yes","yes","public","no","no",9,"yes","no",10,10,"7",24,107,"both","yes"
+"2228",1106,16,11,"other","yes","no",33,"yes","yes","public","no","yes",12,"yes","no",12,9,"5",NA,111,"both","yes"
+"2229",583,12,11,"other","yes","no",29,"yes","yes","public","yes","yes",11,"yes","no",11,11,"7",25,92,"both","yes"
+"2230",404,16,8,"other","yes","no",30,"yes","yes","public","no","no",14,"yes","no",8,12,"6",46,115,"both","yes"
+"2231",618,13,6,"other","yes","no",25,"yes","yes","public","yes","yes",10,"yes","no",12,10.25,"5",37,114,"other","no"
+"2232",277,16,5,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",10,12,"6",41,123,"both","yes"
+"2233",962,17,2,"other","yes","yes",25,"yes","yes","public","no","yes",10,"yes","no",12,11,"5",32,107,"step","yes"
+"2234",692,15,9,"other","yes","no",30,"yes","yes","public","yes","yes",14,"yes","no",12,12,"3",47,107,"both","yes"
+"2235",563,12,10,"other","yes","no",28,"yes","yes","public","no","yes",11,"yes","no",8,12,"6",43,105,"both","yes"
+"2236",1336,8,19,"other","yes","no",33,"yes","yes","public","no","yes",8,"yes","no",3,5,"8",40,NA,"both","no"
+"2237",673,14,11,"other","yes","no",31,"yes","yes","public","no","yes",14,"yes","no",12,12,"3",44,111,"both","no"
+"2238",856,16,10,"other","no","no",32,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,11,"9",41,107,"singlemom","yes"
+"2239",260,16,10,"other","yes","no",32,"yes","yes","public","yes","no",13,"yes","no",8,4,"8",40,117,"both","yes"
+"2240",575,15,7,"other","yes","no",28,"yes","yes","public","no","yes",11,"yes","no",8,4,"8",42,116,"both","yes"
+"2241",626,13,5,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",2,8,"8",40,108,"both","no"
+"2242",1443,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",47,115,"both","no"
+"2243",336,14,8,"other","no","no",28,"yes","yes","public","no","yes",13,"yes","no",6,11,"8",31,101,"both","yes"
+"2244",577,12,9,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",6,11,"8",30,98,"both","yes"
+"2245",480,13,5,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",8,12,"6",30,NA,"both","yes"
+"2246",250,15,7,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",16,0,"5",42,87,"both","yes"
+"2247",479,11,7,"other","yes","no",24,"yes","no","public","no","yes",8,"yes","no",12,9,"5",27,NA,"both","yes"
+"2248",1038,15,13,"other","yes","no",34,"yes","no","public","no","yes",15,"yes","no",9.9399995803833,10.25,"9",43,95,"other","yes"
+"2249",1090,18,9,"other","yes","no",33,"yes","no","public","no","yes",17,"yes","no",13,12,"2",48,114,"both","yes"
+"2250",462,18,2,"other","yes","no",26,"yes","no","public","no","yes",11,"yes","no",12,12,"3",40,116,"both","yes"
+"2251",625,12,14,"other","no","no",32,"yes","no","public","no","yes",12,"yes","no",9.9399995803833,12,"4",41,90,"singlemom","yes"
+"2252",817,16,3,"other","yes","no",25,"yes","no","public","no","yes",9,"yes","no",5,8,"8",38,115,"both","yes"
+"2253",361,14,8,"other","yes","no",28,"yes","no","public","no","yes",12,"yes","no",17,4,"5",40,113,"both","yes"
+"2254",320,12,9,"other","yes","no",27,"yes","no","public","yes","yes",12,"yes","no",12,12,"3",35,87,"both","no"
+"2255",347,16,10,"other","yes","no",32,"yes","no","public","yes","no",11,"yes","no",7,12,"6",32,91,"both","yes"
+"2256",861,12,12,"other","yes","no",30,"no","yes","none","no","no",11,"yes","no",9.9399995803833,10.25,"9",39,86,"other","yes"
+"2257",282,10,10,"other","yes","no",26,"no","yes","none","no","yes",9,"yes","no",2,2,"8",16,90,"both","yes"
+"2258",699,12,6,"other","yes","no",24,"no","yes","none","no","no",9,"yes","no",17,14,"1",33,125,"both","no"
+"2259",615,12,6,"other","yes","no",24,"no","yes","none","no","yes",9,"yes","no",11,10,"7",26,107,"step","yes"
+"2260",433,11,8,"other","no","no",25,"no","yes","none","no","no",9,"yes","no",8,12,"6",35,88,"both","yes"
+"2261",534,16,3,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,12,"3",28,117,"both","yes"
+"2262",625,16,4,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","no",12,12,"3",31,92,"both","yes"
+"2263",577,18,2,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",10,12,"6",43,122,"both","yes"
+"2264",843,12,6,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",10,12,"6",26,98,"both","yes"
+"2265",404,16,4,"other","yes","no",26,"yes","yes","public","no","yes",11,"yes","no",12,12,"3",45,123,"both","yes"
+"2266",553,15,11,"other","yes","no",32,"yes","yes","public","no","yes",13,"yes","no",9.9399995803833,12,"4",40,NA,"singlemom","yes"
+"2267",1014,18,7,"other","yes","no",31,"yes","yes","public","no","yes",15,"yes","no",18,12,"2",45,116,"both","yes"
+"2268",325,16,7,"other","yes","no",29,"yes","yes","public","no","no",13,"yes","no",8,4,"8",44,114,"both","yes"
+"2269",771,15,9,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",12,8,"5",34,91,"both","yes"
+"2270",700,14,4,"other","yes","no",24,"yes","yes","public","no","yes",9,"yes","no",12,13,"2",28,125,"both","yes"
+"2271",548,17,1,"other","yes","no",24,"yes","yes","public","yes","no",9,"yes","no",13,7,"5",42,126,"both","yes"
+"2272",625,16,4,"other","yes","no",26,"yes","yes","public","no","no",10,"yes","no",0,5,"8",43,101,"both","yes"
+"2273",911,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",12,7,"5",33,101,"both","no"
+"2274",745,12,15,"other","yes","no",33,"yes","no","public","no","yes",12,"yes","no",16,16,"1",44,116,"both","yes"
+"2275",674,12,6,"other","no","no",24,"yes","no","public","no","yes",9,"yes","no",12,12,"3",18,103,"both","no"
+"2276",817,16,6,"other","no","no",28,"no","no","none","no","yes",13,"yes","no",12,12,"3",49,113,"both","no"
+"2277",770,15,4,"other","yes","no",25,"yes","yes","public","no","yes",9,"yes","no",9.9399995803833,10,"9",42,111,"singlemom","yes"
+"2278",727,15,6,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",8,9,"8",38,116,"both","yes"
+"2279",666,12,6,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",8,9,"8",25,NA,"both","yes"
+"2280",688,14,7,"other","yes","no",27,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",32,94,"step","yes"
+"2281",560,14,6,"other","yes","no",26,"yes","yes","public","yes","no",10,"yes","no",16,13,"1",38,108,"both","yes"
+"2282",500,16,6,"other","yes","no",28,"yes","yes","public","no","yes",13,"yes","no",13,14,"1",42,123,"both","yes"
+"2283",670,14,8,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,10.25,"9",42,NA,"both","yes"
+"2284",962,12,16,"other","yes","no",34,"yes","yes","public","no","yes",10,"yes","no",9,9,"7",36,NA,"both","yes"
+"2285",726,16,6,"other","yes","no",28,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,12,"4",38,109,"step","yes"
+"2286",962,16,11,"other","yes","no",33,"yes","yes","public","no","yes",15,"yes","no",12,12,"3",36,124,"both","yes"
+"2287",615,17,10,"other","yes","no",33,"yes","yes","public","yes","yes",15,"yes","no",12,14,"2",42,89,"both","yes"
+"2288",1154,13,13,"other","yes","no",32,"yes","yes","public","no","yes",13,"yes","no",12,10,"5",35,114,"both","no"
+"2289",675,13,10,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",14,8,"5",35,121,"both","yes"
+"2290",422,12,8,"other","yes","no",26,"yes","yes","public","no","yes",9,"yes","no",9.9399995803833,10,"9",37,103,"singlemom","yes"
+"2291",1063,12,7,"other","yes","no",25,"yes","yes","public","no","no",10,"yes","no",12,12,"3",19,96,"both","yes"
+"2292",1175,18,9,"other","yes","no",33,"yes","yes","public","no","no",16,"yes","no",15,14,"1",54,117,"both","yes"
+"2293",852,15,6,"other","yes","no",27,"yes","yes","public","yes","yes",11,"yes","no",12,10.25,"5",36,108,"other","yes"
+"2294",610,12,6,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",12,10.25,"5",24,NA,"other","yes"
+"2295",423,18,9,"other","yes","no",33,"yes","yes","public","no","yes",15,"yes","no",12,12,"3",43,NA,"both","yes"
+"2296",1200,12,11,"other","yes","no",29,"yes","yes","public","no","yes",12,"yes","no",8,12,"6",40,100,"both","yes"
+"2297",1029,14,14,"other","yes","no",34,"yes","yes","public","no","yes",14,"yes","no",15,10,"5",46,NA,"both","yes"
+"2298",550,14,8,"other","yes","no",28,"yes","yes","public","no","no",12,"yes","no",12,10.25,"5",30,104,"other","yes"
+"2299",801,15,10,"other","yes","no",31,"yes","yes","public","no","no",13,"yes","no",12,12,"3",36,91,"step","no"
+"2300",543,12,13,"other","yes","no",31,"yes","yes","public","no","yes",12,"yes","no",9.9399995803833,11,"9",31,97,"step","yes"
+"2301",350,9,16,"other","yes","no",31,"yes","yes","public","no","no",8,"yes","no",8,11,"8",18,NA,"both","yes"
+"2302",750,14,12,"other","yes","no",32,"yes","yes","public","no","no",12,"yes","no",9.9399995803833,12,"4",33,94,"both","yes"
+"2303",450,14,14,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",12,10,"5",36,103,"both","yes"
+"2304",600,14,4,"other","yes","no",24,"yes","yes","public","no","no",8,"yes","no",12,9,"5",26,NA,"step","yes"
+"2305",855,12,15,"other","yes","no",33,"yes","yes","public","no","no",12,"yes","no",7,12,"6",44,101,"both","no"
+"2306",728,14,6,"other","yes","no",26,"yes","yes","public","no","yes",10,"yes","no",14,8,"5",30,94,"both","no"
+"2307",693,12,16,"other","yes","no",34,"yes","yes","public","no","no",10,"yes","no",12,11,"5",38,112,"both","yes"
+"2308",1025,10,11,"other","yes","no",27,"yes","yes","public","no","no",10,"yes","no",12,12,"3",24,73,"step","no"
+"2309",1154,14,8,"other","yes","no",28,"yes","yes","public","yes","yes",12,"yes","no",8,8,"8",32,104,"both","yes"
+"2310",983,16,10,"other","yes","no",32,"yes","yes","public","no","yes",16,"yes","no",15,18,"1",48,NA,"both","yes"
+"2311",727,15,13,"other","yes","no",34,"yes","yes","public","no","no",12,"yes","no",3,0,"8",34,105,"both","no"
+"2312",535,14,14,"other","yes","no",34,"yes","yes","public","no","yes",12,"yes","no",10,11,"7",38,106,"both","yes"
+"2313",532,12,7,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",11,11,"7",39,101,"both","yes"
+"2314",289,13,7,"other","yes","no",26,"yes","yes","public","yes","no",10,"yes","no",10,11,"7",28,86,"both","yes"
+"2315",313,17,3,"other","yes","no",26,"yes","yes","public","yes","no",11,"yes","no",12,12,"3",36,119,"both","yes"
+"2316",404,13,5,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",13,16,"1",24,83,"both","yes"
+"2317",1100,18,6,"other","yes","no",30,"yes","yes","public","no","yes",15,"yes","no",12,12,"3",43,114,"both","yes"
+"2318",660,12,9,"other","yes","no",27,"yes","yes","public","no","yes",11,"yes","no",2,2,"8",36,104,"both","yes"
+"2319",433,12,14,"other","yes","no",32,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",44,99,"both","no"
+"2320",400,17,4,"other","yes","yes",27,"yes","yes","public","yes","no",11,"yes","no",18,16,"1",37,126,"both","yes"
+"2321",263,15,5,"other","yes","no",26,"yes","yes","public","no","no",11,"yes","no",18,13,"1",36,101,"both","yes"
+"2322",400,13,15,"other","yes","no",34,"yes","yes","public","no","yes",13,"yes","no",12,12,"3",45,NA,"both","yes"
+"2323",577,16,12,"other","no","no",34,"yes","yes","public","no","yes",16,"yes","no",15,18,"1",40,109,"both","yes"
+"2324",433,12,6,"other","yes","no",24,"yes","yes","public","no","no",9,"yes","no",13,13,"1",35,110,"both","yes"
+"2325",470,17,2,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",18,12,"2",39,104,"both","no"
+"2326",255,17,2,"other","yes","no",25,"yes","yes","public","yes","yes",10,"yes","no",12,14,"2",30,118,"singlemom","yes"
+"2327",625,12,8,"other","no","no",26,"yes","yes","public","no","yes",11,"yes","no",12,12,"3",28,NA,"both","yes"
+"2328",670,13,15,"other","yes","no",34,"yes","yes","public","yes","no",12,"yes","no",12,10.25,"5",48,103,"both","yes"
+"2329",1049,12,12,"other","yes","no",30,"yes","yes","public","no","yes",12,"yes","no",12,12,"3",36,90,"both","yes"
+"2330",1846,17,11,"other","yes","no",34,"yes","yes","public","no","yes",16,"yes","no",9.9399995803833,4,"9",49,98,"both","yes"
+"2331",769,15,12,"other","yes","no",33,"yes","yes","public","no","yes",14,"yes","no",16,12,"2",46,112,"both","yes"
+"2332",688,11,17,"afam","yes","no",34,"yes","yes","public","no","yes",10,"yes","no",9.9399995803833,10.25,"9",37,64,"step",NA
+"2333",650,15,3,"other","yes","no",24,"yes","yes","public","no","yes",8,"yes","no",15,12,"2",25,NA,"both","yes"
+"2334",479,16,4,"other","no","no",26,"yes","yes","public","no","yes",10,"yes","no",13,18,"1",39,128,"both","yes"
+"2335",341,16,2,"other","no","no",24,"no","yes","none","no","yes",9,"no","no",16,13,"1",40,113,"both","yes"
+"2336",906,14,12,"other","yes","no",32,"no","yes","none","no","yes",14,"no","no",10,12,"6",46,102,"both","yes"
+"2337",351,12,15,"other","no","no",33,"no","yes","none","no","no",12,"no","no",7,8,"8",33,93,"both","yes"
+"2338",775,12,11,"other","yes","no",29,"no","no","none","no","yes",12,"yes","no",8,9,"8",40,92,"both","no"
+"2339",700,12,8,"other","yes","no",26,"no","no","none","no","yes",11,"yes","no",8,9,"8",35,124,"both","no"
+"2340",592,16,4,"other","no","no",26,"no","no","none","no","yes",10,"no","no",12,12,"3",39,119,"both","yes"
+"2341",740,12,6,"other","no","no",24,"no","no","none","no",NA,8,"no","no",8,11,"8",25,NA,"both","yes"
+"2342",533,12,9,"other","no","no",27,"no","no","none","no","yes",12,"no","no",10,8,"8",34,96,"both","yes"
+"2343",417,16,3,"other","yes","no",25,"no","no","none","no","no",9,"no","no",18,13,"1",32,110,"both","yes"
+"2344",1394,18,10,"other","yes","no",34,"no","no","none","no","yes",17,"no","no",12,12,"3",40,118,"both","yes"
+"2345",548,12,16,"other","no","no",34,"no","no","none","no","yes",12,"no","no",8,10,"8",42,96,"both","yes"
+"2346",657,11,7,"other","no","no",24,"yes","no","public","no","yes",9,"no","no",11,12,"6",27,80,"both","yes"
+"2347",572,12,7,"other","no","no",25,"yes","no","public","no","yes",8,"no","no",10,12,"6",39,NA,"both","yes"
+"2348",624,13,10,"other","no","no",29,"yes","no","public","no","yes",12,"no","no",9.9399995803833,12,"4",36,137,"step","no"
+"2349",442,16,9,"other","yes","no",31,"yes","no","public","no","yes",14,"no","no",15,12,"2",38,113,"both","yes"
+"2350",577,15,6,"other","no","no",27,"yes","no","public","no","yes",11,"no","no",12,12,"3",41,93,"both","yes"
+"2351",540,13,8,"other","no","no",27,"yes","no","public","no","yes",10,"no","no",12,12,"3",34,93,"both","yes"
+"2352",841,15,9,"other","no","no",30,"yes","no","public","no","no",14,"no","no",9,12,"6",42,116,"both","yes"
+"2353",724,14,9,"other","yes","no",29,"no","yes","none","yes","no",13,"no","no",9.9399995803833,8,"9",34,106,"both","yes"
+"2354",557,13,7,"other","yes","no",26,"no","yes","none","yes","yes",10,"no","no",6,11,"8",22,NA,"both","yes"
+"2355",334,13,5,"other","no","no",24,"no","yes","none","yes","yes",5,"no","no",9.9399995803833,10.25,"9",14,NA,"other","yes"
+"2356",510,15,3,"other","yes","yes",24,"no","yes","none","no","no",8,"no","no",10,14,"6",33,NA,"both","yes"
+"2357",577,12,13,"other","yes","no",31,"no","yes","none","no","yes",11,"yes","no",8,12,"6",31,69,"both","no"
+"2358",511,12,11,"other","yes","no",29,"no","yes","none","no","yes",12,"yes","no",2,6,"8",36,78,"both","yes"
+"2359",311,15,4,"other","yes","no",25,"yes","no","private","yes","yes",9,"yes","no",9,7,"8",28,87,"both","yes"
+"2360",577,12,16,"other","yes","no",34,"yes","no","private","no","yes",12,"yes","no",8,8,"8",41,99,"both","yes"
+"2361",670,12,16,"other","yes","no",34,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,12,"4",40,NA,"both","yes"
+"2362",631,12,9,"other","yes","no",27,"yes","no","private","no","yes",11,"yes","no",12,16,"2",33,92,"both","yes"
+"2363",666,16,3,"other","yes","no",25,"yes","no","private","no","no",10,"yes","no",12,16,"2",23,113,"both","yes"
+"2364",400,14,7,"other","yes","no",27,"yes","no","private","no","yes",10,"yes","no",12,12,"3",38,119,"both","yes"
+"2365",220,11,7,"other","no","no",24,"yes","no","private","no","yes",7,"yes","no",10,16,"6",24,NA,"step","yes"
+"2366",577,13,11,"other","yes","no",30,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,9,"9",43,NA,"singlemom","no"
+"2367",423,13,10,"other","yes","no",29,"yes","no","private","no","no",13,"yes","no",9.9399995803833,12,"4",29,98,"singlemom","yes"
+"2368",647,16,5,"other","yes","no",27,"yes","no","private","no","yes",11,"yes","no",14,16,"1",33,99,"both","yes"
+"2369",345,15,7,"other","yes","no",28,"yes","no","private","yes","no",13,"no","no",10,12,"6",36,NA,"both","yes"
+"2370",840,16,3,"other","yes","yes",25,"yes","no","private","no","no",9,"yes","no",11,14,"6",24,112,"both","yes"
+"2371",625,15,4,"other","yes","no",25,"yes","yes","public","no","yes",10,"yes","no",18,12,"2",30,115,"both","yes"
+"2372",1000,9,15,"other","yes","no",30,"yes","no","public","no","yes",9,"yes","no",8,10.25,"9",26,96,"other","yes"
+"2373",919,16,9,"other","yes","no",31,"yes","yes","private","no","yes",15,"yes","no",8,6,"8",41,117,"both","yes"
+"2374",730,12,13,"other","yes","no",31,"yes","yes","private","no","yes",12,"yes","no",2,8,"8",38,96,"both","yes"
+"2375",448,12,6,"other","yes","yes",24,"yes","yes","private","no","no",8,"yes","no",10,10,"7",26,NA,"step","no"
+"2376",483,14,9,"other","yes","no",29,"yes","yes","private","yes","yes",13,"yes","no",12,12,"3",44,75,"both","yes"
+"2377",411,12,7,"other","yes","no",25,"yes","no","public","no","no",10,"yes","no",11,10,"7",46,108,"both","yes"
+"2378",885,14,10,"other","yes","no",30,"yes","no","public","no","yes",13,"yes","no",13,12,"2",46,NA,"other","yes"
+"2379",350,14,7,"other","yes","no",27,"no","no","none","no",NA,11,"yes","no",10,12,"6",32,NA,"both","yes"
+"2380",500,17,4,"other","no","no",27,"no","no","none","no","yes",12,"yes","no",12,16,"2",34,92,"both","yes"
+"2381",733,15,12,"other","yes","no",33,"no","no","none","no","yes",15,"yes","no",16,16,"1",38,95,"both","yes"
+"2382",459,13,11,"other","yes","no",30,"no","no","none","yes","no",12,"yes","no",12,12,"3",34,88,"both","yes"
+"2383",721,16,6,"other","yes","no",28,"no","no","none","no","yes",13,"yes","no",12,12,"3",37,106,"both","yes"
+"2384",699,15,11,"other","yes","yes",32,"no","no","none","no","yes",13,"yes","no",8,8,"8",44,95,"both","yes"
+"2385",785,14,10,"other","yes","no",30,"no","no","none","no","yes",13,"yes","no",9,15,"6",40,94,"both","yes"
+"2386",925,16,7,"other","yes","no",29,"no","no","none","no","yes",12,"yes","no",12,13,"2",45,105,"both","yes"
+"2387",449,14,6,"other","yes","no",26,"no","no","none","no","no",10,"yes","no",12,13,"2",30,115,"both","yes"
+"2388",325,15,3,"other","no","no",24,"no","no","none","no","yes",9,"no","no",14,14,"1",37,117,"both","yes"
+"2389",683,13,13,"other","no","no",32,"no","no","none","no","yes",12,"no","no",13,12,"2",30,NA,"both","yes"
+"2390",522,16,10,"other","yes","no",32,"no","no","none","no","yes",14,"yes","no",18,14,"1",45,NA,"both","yes"
+"2391",470,18,4,"other","yes","no",28,"no","no","none","no","yes",13,"yes","no",18,14,"1",44,93,"both","yes"
+"2392",541,12,16,"other","no","no",34,"no","yes","none","no","yes",12,"no","no",8,7,"8",38,115,"both","yes"
+"2393",852,14,9,"other","no","no",29,"no","yes","none","no","yes",14,"no","no",13,12,"2",43,NA,"both","yes"
+"2394",400,12,12,"other","no","no",30,"no","yes","none","no","yes",12,"no","no",9,12,"6",42,NA,"both","yes"
+"2395",547,18,3,"other","no","no",27,"no","yes","none","no","no",11,"no","no",9.9399995803833,10.25,"9",36,117,"both","yes"
+"2396",577,16,10,"other","no","no",32,"no","yes","none","no","no",13,"no","no",12,14,"2",36,98,"both","yes"
+"2397",300,11,7,"other","no","no",24,"no","yes","none","no","yes",8,"no","no",13,13,"1",31,NA,"both","yes"
+"2398",1068,16,10,"other","no","no",32,"no","yes","none","no","yes",15,"no","no",9.9399995803833,12,"4",42,105,"singlemom","yes"
+"2399",721,12,14,"other","no","no",32,"no","yes","none","no","yes",12,"no","no",6,7,"8",36,109,"both","yes"
+"2400",673,17,8,"other","yes","no",31,"no","yes","none","yes","no",12,"no","no",12,11,"5",42,95,"both","yes"
+"2401",739,17,4,"other","yes","yes",27,"no","yes","none","no","yes",12,"no","no",14,12,"2",31,120,"both","yes"
+"2402",1478,12,8,"other","yes","no",26,"no","yes","none","no","no",10,"yes","no",8,10.25,"9",NA,96,"both","no"
+"2403",875,17,4,"other","no","no",27,"no","no","none","no","no",11,"no","no",8,14,"6",40,NA,"both","yes"
+"2404",900,12,15,"other","no","no",33,"no","no","none","no","yes",12,"no","no",8,12,"6",40,NA,"both","yes"
+"2405",801,13,12,"other","no","no",31,"no","no","none","no","yes",13,"no","no",13,12,"2",42,91,"both","yes"
+"2406",550,13,7,"other","no","no",26,"no","no","none","no","yes",10,"no","no",8,12,"6",38,109,"both","yes"
+"2407",575,10,18,"other","no","no",34,"no","no","none","no","yes",10,"no","no",8,9,"8",32,NA,"both","no"
+"2408",540,12,9,"other","no","no",27,"no","no","none","no","yes",12,"no","no",12,12,"3",38,87,"both","yes"
+"2409",790,16,10,"other","yes","no",32,"no","no","none","no","yes",16,"yes","no",13,13,"1",34,110,"both","yes"
+"2410",693,14,8,"other","no","no",28,"no","no","none","no","yes",11,"no","no",12,10,"5",28,97,"both","yes"
+"2411",250,16,4,"other","no","no",26,"no","no","none","no","no",11,"no","no",12,10,"5",30,110,"both","yes"
+"2412",417,17,1,"other","yes","no",24,"no","no","none","yes","yes",8,"no","no",14,13,"1",35,NA,"both","yes"
+"2413",635,9,17,"other","no","no",32,"no","no","none","no","yes",9,"no","no",3,4,"8",29,74,"both","no"
+"2414",413,12,14,"other","yes","no",32,"no","no","none","no","no",12,"no","no",9.9399995803833,9,"9",32,95,"both","yes"
+"2415",300,12,7,"other","no","no",25,"no","no","none","no","yes",9,"no","no",9.9399995803833,10.25,"9",26,97,"other","no"
+"2416",567,17,3,"other","yes","no",26,"no","no","none","yes","yes",10,"no","no",18,14,"1",29,NA,"both","yes"
+"2417",641,16,10,"other","no","no",32,"no","no","none","no","yes",14,"no","no",7,12,"6",39,NA,"both","no"
+"2418",356,13,10,"other","no","no",29,"no","no","none","no","yes",9,"no","no",9.9399995803833,10.25,"9",34,98,"other","no"
+"2419",400,12,15,"other","no","no",33,"no","no","none","yes","yes",12,"no","no",9.9399995803833,10.25,"9",39,105,"other","no"
+"2420",413,12,13,"other","no","no",31,"no","no","none","no","yes",12,"no","no",12,12,"3",21,85,"both","yes"
+"2421",531,14,13,"other","no","no",33,"no","no","none","no","yes",14,"no","no",12,10,"5",42,105,"both","no"
+"2422",635,16,7,"other","no","no",29,"no","no","none","no","yes",12,"no","no",12,10,"5",39,122,"both","no"
+"2423",144,14,7,"other","no","no",27,"no","no","none","yes","yes",11,"no","no",18,12,"2",36,114,"both","yes"
+"2424",550,14,11,"other","no","no",31,"no","no","none","no","yes",14,"no","no",17,13,"1",36,129,"both","no"
+"2425",486,12,14,"other","no","no",32,"no","no","none","no","no",12,"no","no",7,8,"8",33,100,"both","yes"
+"2426",598,17,8,"other","yes","no",31,"no","no","none","no","yes",15,"no","no",9,14,"6",40,108,"both","yes"
+"2427",462,14,6,"other","yes","yes",26,"no","no","none","yes","yes",11,"no","no",9.9399995803833,16,"4",26,NA,"both","yes"
+"2428",812,16,4,"other","no","no",26,"no","no","none","no","yes",11,"no","no",9.9399995803833,16,"4",32,NA,"both","yes"
+"2429",625,12,7,"other","no","no",25,"no","no","none","no","yes",10,"no","no",8,11,"8",22,NA,"both","no"
+"2430",1043,12,13,"other","no","no",31,"no","no","none","no","yes",10,"no","no",3,10.25,"9",33,NA,"both","no"
+"2431",800,16,5,"other","yes","no",27,"no","no","none","no","no",12,"no","no",8,12,"6",38,122,"both","yes"
+"2432",812,16,5,"other","yes","no",27,"no","no","none","yes","yes",12,"yes","no",8,9,"8",36,119,"both","yes"
+"2433",433,17,3,"other","yes","no",26,"no","no","none","no","no",11,"yes","no",8,8,"8",40,129,"step","yes"
+"2434",751,17,5,"other","yes","no",28,"no","no","none","no","yes",11,"no","no",8,8,"8",32,79,"both","yes"
+"2435",294,14,6,"other","yes","no",26,"no","no","none","no","no",10,"no","no",10,12,"6",39,109,"both","yes"
+"2436",427,12,7,"other","yes","no",25,"yes","no","private","no","yes",10,"yes","no",12,12,"3",30,105,"both","yes"
+"2437",700,12,15,"other","yes","no",33,"yes","no","private","no","yes",12,"yes","no",9.9399995803833,10.25,"9",47,90,"both","yes"
+"2438",284,16,3,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",12,12,"3",30,NA,"both","yes"
+"2439",542,14,7,"other","no","no",27,"yes","no","private","yes","yes",11,"yes","no",13,14,"1",28,101,"both","yes"
+"2440",480,12,7,"other","yes","no",25,"yes","no","private","no","yes",9,"yes","no",12,12,"3",35,83,"both","yes"
+"2441",378,16,4,"other","yes","no",26,"yes","no","private","no","yes",10,"yes","no",13,14,"1",32,NA,"both","yes"
+"2442",508,16,8,"other","yes","no",30,"yes","no","private","no","yes",13,"yes","no",9.9399995803833,10.25,"9",38,111,"both","yes"
+"2443",500,12,7,"other","yes","no",25,"yes","no","private","no","yes",8,"yes","no",9.9399995803833,10.25,"9",26,NA,"both","yes"
+"2444",723,12,15,"other","yes","no",33,"yes","no","public","no","yes",12,"no","no",12,8,"5",42,110,"both","no"
+"2445",220,12,7,"other","no","no",25,"yes","no","public","no","no",9,"no","no",14,14,"1",32,92,"both","yes"
+"2446",475,15,3,"other","no","no",24,"yes","no","public","no","no",8,"no","no",9.9399995803833,10.25,"9",22,NA,"other","yes"
+"2447",1202,13,7,"other","yes","no",26,"yes","no","public","no","yes",10,"no","no",10,10,"7",36,113,"both","no"
+"2448",400,13,5,"other","no","no",24,"yes","no","public","no","no",9,"no","no",12,12,"3",26,115,"step","yes"
+"2449",601,16,7,"other","yes","no",29,"yes","no","public","no","no",13,"no","no",12,12,"3",36,109,"both","yes"
+"2450",481,12,11,"other","no","no",29,"yes","no","public","no","no",12,"yes","no",12,8,"5",35,114,"both","yes"
+"2451",700,16,11,"other","no","no",33,"yes","no","public","no","yes",16,"no","no",7,12,"6",39,110,"both","yes"
+"2452",769,12,9,"other","yes","yes",27,"yes","no","private","no","yes",12,"yes","yes",10,9,"7",43,102,"both","yes"
+"2453",529,14,5,"other","yes","yes",25,"yes","no","private","no","yes",9,"yes","yes",10,9,"7",34,118,"both","yes"
+"2454",450,16,8,"other","yes","yes",30,"yes","no","private","yes","yes",12,"yes","yes",12,9,"5",37,112,"both","no"
+"2455",563,10,18,"other","yes","yes",34,"yes","no","private","no","yes",9,"yes","yes",6,10.25,"9",31,86,"both","no"
+"2456",649,13,13,"other","yes","yes",32,"yes","no","private","no","yes",11,"yes","yes",7,0,"8",42,114,"both","no"
+"2457",470,8,18,"other","yes","yes",32,"yes","no","private","no","yes",8,"yes","yes",9,12,"6",33,NA,"both","no"
+"2458",275,16,2,"other","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",14,12,"2",31,NA,"both","yes"
+"2459",719,16,11,"other","yes","yes",33,"yes","no","private","yes","yes",13,"yes","yes",10,8,"8",40,102,"both","yes"
+"2460",1082,12,15,"other","yes","yes",33,"yes","no","private","no","yes",12,"yes","yes",9.9399995803833,10.25,"9",42,105,"singlemom","yes"
+"2461",673,16,12,"other","yes","yes",34,"yes","no","private","no","yes",13,"yes","yes",6,10,"8",51,83,"both","yes"
+"2462",350,18,0,"other","no","yes",24,"no","yes","none","no","yes",9,"no","yes",15,12,"2",31,107,"both","yes"
+"2463",769,14,8,"afam","yes","yes",28,"no","yes","none","no","yes",11,"no","yes",5,9,"8",34,81,"both","yes"
+"2464",650,12,8,"afam","no","yes",26,"no","yes","none","no","yes",9,"no","yes",0,6,"8",26,85,"both","yes"
+"2465",751,9,15,"other","no","yes",30,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,4,"9",34,72,"both","no"
+"2466",356,10,11,"other","no","yes",27,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,4,"9",23,NA,"singlemom","no"
+"2467",250,9,9,"other","no","yes",24,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,4,"9",14,NA,"singlemom","no"
+"2468",401,12,10,"other","no","yes",28,"no","yes","none","no","no",11,"no","yes",7,6,"8",35,86,"both","yes"
+"2469",425,11,8,"other","no","yes",25,"no","yes","none","no","yes",8,"no","yes",7,6,"8",38,NA,"both","yes"
+"2470",287,9,10,"other","no","yes",25,"no","yes","none","no","yes",8,"no","yes",7,6,"8",26,NA,"both","yes"
+"2471",309,13,7,"afam","no","yes",26,"no","yes","none","yes","yes",9,"no","yes",6,12,"6",18,NA,"both","yes"
+"2472",578,14,4,"afam","yes","no",24,"no","yes","none","no","yes",8,"no","yes",6,12,"6",21,NA,"both","no"
+"2473",438,16,8,"afam","no","yes",30,"no","yes","none","no","yes",13,"no","yes",7,8,"8",29,NA,"both","no"
+"2474",450,12,13,"other","no","yes",31,"no","yes","none","no","yes",11,"no","yes",8,12,"6",38,68,"both","no"
+"2475",173,17,5,"other","yes","yes",28,"no","yes","none","yes","yes",12,"no","yes",9.9399995803833,15,"4",36,115,"singlemom","yes"
+"2476",529,16,5,"afam","yes","no",27,"no","yes","none","yes","yes",10,"no","yes",8,9,"8",19,NA,"both","no"
+"2477",482,12,12,"afam","no","yes",30,"no","yes","none","no","no",12,"no","yes",8,10.25,"9",27,NA,"both","no"
+"2478",833,12,9,"afam","yes","no",27,"no","yes","none","no","yes",12,"no","yes",8,10.25,"9",18,NA,"both","no"
+"2479",260,12,16,"afam","no","yes",34,"no","yes","none","no","no",12,"no","yes",9.9399995803833,6,"9",22,95,"both","no"
+"2480",279,12,7,"afam","no","yes",25,"no","yes","none","no","no",8,"no","yes",9.9399995803833,3,"9",22,NA,"singlemom","yes"
+"2481",350,13,6,"afam","no","yes",25,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",29,NA,"other","yes"
+"2482",145,11,7,"other","no","yes",24,"no","yes","none","no","yes",7,"no","yes",5,11,"8",20,NA,"both","yes"
+"2483",230,10,11,"afam","no","yes",27,"no","yes","none","no","yes",7,"no","yes",9.9399995803833,12,"4",26,NA,"singlemom","yes"
+"2484",450,15,3,"afam","yes","no",24,"no","yes","none","no","no",6,"no","yes",9.9399995803833,12,"4",14,NA,"singlemom","yes"
+"2485",385,16,3,"other","yes","yes",25,"no","yes","none","no","no",9,"no","yes",12,12,"3",31,87,"both","yes"
+"2486",817,17,11,"other","yes","yes",34,"no","yes","none","no","yes",14,"no","yes",13,12,"2",42,116,"both","yes"
+"2487",962,16,8,"other","no","yes",30,"no","yes","none","no","yes",15,"no","yes",13,12,"2",37,95,"both","yes"
+"2488",408,13,9,"other","no","yes",28,"no","yes","none","no","yes",12,"no","yes",14,12,"2",32,94,"both","yes"
+"2489",526,16,3,"other","yes","yes",25,"no","yes","none","no","no",9,"no","yes",14,12,"2",29,NA,"both","yes"
+"2490",578,13,5,"other","yes","no",24,"no","yes","none","no","yes",8,"no","yes",14,10,"5",35,NA,"step","yes"
+"2491",620,14,8,"other","no","yes",28,"no","yes","none","no","yes",12,"no","yes",6,10,"8",45,96,"both","yes"
+"2492",230,12,7,"other","yes","yes",25,"yes","no","public","no","no",9,"yes","yes",7,12,"6",29,99,"both","yes"
+"2493",580,11,13,"afam","yes","yes",30,"yes","no","public","no","yes",11,"yes","yes",2,5,"8",33,NA,"both","yes"
+"2494",1155,18,8,"other","yes","yes",32,"yes","no","public","no","no",15,"yes","yes",6,12,"6",45,106,"both","yes"
+"2495",380,12,10,"afam","yes","yes",28,"yes","no","public","no","yes",11,"yes","yes",9.9399995803833,10.25,"9",24,NA,"other","no"
+"2496",616,16,5,"afam","yes","yes",27,"yes","no","public","no","no",12,"yes","yes",10,12,"6",26,NA,"both","yes"
+"2497",450,12,10,"afam","yes","yes",28,"yes","no","public","no","yes",10,"yes","yes",10,8,"8",28,NA,"both","no"
+"2498",425,12,7,"afam","yes","yes",25,"yes","no","public","no","yes",8,"yes","yes",10,8,"8",30,NA,"both","no"
+"2499",500,12,10,"afam","yes","yes",28,"yes","no","public","no","yes",12,"yes","yes",8,2,"8",36,85,"both","no"
+"2500",713,12,7,"other","yes","yes",25,"yes","no","public","no","yes",8,"yes","yes",12,12,"3",16,NA,"both","yes"
+"2501",750,12,7,"other","yes","yes",25,"yes","no","public","no","yes",9,"yes","yes",4,12,"6",32,100,"both","yes"
+"2502",323,15,3,"other","yes","yes",24,"yes","no","public","yes","yes",8,"yes","yes",4,12,"6",37,92,"both","yes"
+"2503",1038,13,9,"other","yes","yes",28,"yes","no","public","no","yes",12,"yes","yes",8,12,"6",38,101,"both","no"
+"2504",491,16,3,"other","yes","yes",25,"yes","no","public","no","yes",10,"yes","yes",16,15,"1",30,104,"both","yes"
+"2505",525,13,10,"other","yes","yes",29,"yes","no","public","no","no",9,"yes","yes",10,12,"6",37,88,"both","yes"
+"2506",388,11,12,"afam","yes","yes",29,"yes","no","public","no","yes",11,"yes","yes",5,5,"8",26,NA,"both","yes"
+"2507",460,10,10,"afam","yes","yes",26,"yes","no","public","no","yes",7,"yes","yes",12,2,"5",21,NA,"both","yes"
+"2508",400,15,3,"afam","yes","yes",24,"yes","no","public","no","no",8,"yes","yes",5,8,"8",22,NA,"both","no"
+"2509",737,15,6,"afam","yes","yes",27,"yes","no","public","no","yes",12,"no","yes",9,16,"6",31,97,"both","yes"
+"2510",599,14,6,"afam","yes","yes",26,"yes","no","public","no","no",9,"yes","yes",6,10,"8",34,83,"other","yes"
+"2511",1131,18,9,"afam","no","yes",33,"no","no","none","no","no",17,"yes","yes",18,18,"1",43,71,"both","yes"
+"2512",601,14,5,"afam","yes","yes",25,"yes","no","public","no","no",9,"yes","yes",9.9399995803833,10.25,"9",30,100,"other","yes"
+"2513",298,10,10,"afam","yes","yes",26,"yes","no","public","no","no",8,"yes","yes",9.9399995803833,11,"9",22,NA,"singlemom","no"
+"2514",235,12,9,"afam","yes","yes",27,"yes","no","public","no","no",10,"yes","yes",9.9399995803833,10.25,"9",39,96,"other","yes"
+"2515",220,13,6,"afam","yes","yes",25,"yes","no","public","yes","yes",10,"yes","yes",9.9399995803833,10.25,"9",20,113,"other","yes"
+"2516",697,8,12,"afam","yes","yes",26,"yes","no","public","no","yes",7,"yes","yes",9.9399995803833,11,"9",26,NA,"singlemom","no"
+"2517",542,9,9,"afam","yes","yes",24,"yes","no","public","no","no",7,"yes","yes",9.9399995803833,11,"9",20,NA,"singlemom","no"
+"2518",250,12,7,"afam","yes","yes",25,"yes","no","public","no","no",7,"yes","yes",9.9399995803833,8,"9",29,NA,"singlemom","yes"
+"2519",400,16,4,"other","yes","yes",26,"yes","no","public","no","no",10,"yes","yes",12,12,"3",39,117,"other","no"
+"2520",423,15,10,"other","yes","yes",31,"yes","no","public","yes","no",12,"yes","yes",9.9399995803833,10.25,"9",39,101,"other","no"
+"2521",290,12,7,"other","yes","yes",25,"yes","no","public","no","no",9,"yes","yes",6,5,"8",NA,65,"both","yes"
+"2522",247,10,17,"afam","yes","yes",33,"yes","no","public","no","no",8,"yes","yes",9.9399995803833,10,"9",32,NA,"both","no"
+"2523",380,13,7,"afam","yes","yes",26,"yes","no","public","yes","yes",9,"yes","yes",9.9399995803833,10,"9",33,87,"both","no"
+"2524",656,12,6,"other","yes","yes",24,"yes","no","public","no","yes",9,"yes","yes",12,9,"5",37,116,"both","no"
+"2525",711,12,14,"other","yes","yes",32,"yes","no","public","no","yes",12,"yes","yes",9,12,"6",42,106,"both","yes"
+"2526",481,14,9,"other","yes","yes",29,"yes","no","public","no","no",12,"yes","yes",8,12,"6",35,93,"both","yes"
+"2527",641,16,3,"other","yes","yes",25,"yes","no","public","no","yes",9,"yes","yes",8,12,"6",35,112,"both","yes"
+"2528",596,12,14,"other","yes","yes",32,"yes","no","public","no","no",12,"yes","yes",12,14,"2",45,98,"both","yes"
+"2529",578,7,18,"other","yes","yes",31,"yes","no","public","no","yes",7,"yes","yes",9.9399995803833,10.25,"9",35,NA,"other","no"
+"2530",678,16,8,"other","yes","yes",30,"no","yes","none","yes","yes",14,"yes","yes",9.9399995803833,12,"4",37,NA,"singlemom","yes"
+"2531",1538,16,10,"other","yes","yes",32,"no","yes","none","no","yes",12,"yes","yes",11,14,"6",37,103,"both","yes"
+"2532",860,12,15,"other","yes","yes",33,"no","yes","none","no","yes",12,"yes","yes",9,12,"6",36,103,"both","no"
+"2533",534,18,8,"other","yes","yes",32,"no","yes","none","no","no",16,"yes","yes",12,16,"2",49,NA,"both","yes"
+"2534",308,12,9,"other","yes","yes",27,"no","yes","none","no","yes",12,"yes","yes",12,12,"3",34,91,"step","no"
+"2535",600,14,9,"other","no","yes",29,"no","yes","none","no","yes",13,"yes","yes",12,10.25,"5",41,118,"both","yes"
+"2536",625,8,17,"other","no","yes",31,"no","yes","none","no","yes",7,"no","yes",9.9399995803833,10.25,"9",20,NA,"other","no"
+"2537",540,13,10,"other","yes","yes",29,"no","yes","none","no","yes",13,"no","yes",10,10,"7",28,87,"both","no"
+"2538",344,13,8,"other","no","yes",27,"no","yes","none","no","yes",11,"no","yes",12,10,"5",22,100,"both","no"
+"2539",500,12,7,"other","no","yes",25,"no","yes","none","no","yes",10,"no","yes",12,10,"5",39,96,"both","yes"
+"2540",320,11,9,"afam","yes","no",26,"no","yes","none","yes","yes",8,"no","yes",6,9,"8",16,NA,"both","no"
+"2541",378,18,3,"afam","no","yes",27,"no","yes","none","no","yes",11,"no","yes",4,10,"8",29,62,"both","no"
+"2542",188,15,4,"afam","no","yes",25,"no","yes","none","yes","no",9,"no","yes",4,10,"8",14,60,"both","no"
+"2543",168,9,18,"afam","no","yes",33,"no","yes","none","no","no",9,"no","yes",4,10,"8",19,NA,"both","no"
+"2544",250,2,17,"afam","no","yes",25,"no","yes","none","no","no",0,"no","yes",6,10.25,"9",12,NA,"both","no"
+"2545",190,3,15,"afam","no","yes",24,"no","yes","none","no","no",3,"no","yes",6,5,"8",8,NA,"both","no"
+"2546",1000,12,10,"afam","yes","no",28,"no","yes","none","no","yes",12,"yes","no",8,8,"8",31,83,"both","no"
+"2547",564,12,6,"afam","no","yes",24,"no","yes","none","no","no",9,"no","yes",9.9399995803833,10.25,"9",20,100,"other","no"
+"2548",624,9,9,"afam","no","yes",24,"no","yes","none","no","yes",5,"no","yes",9.9399995803833,7,"9",17,NA,"singlemom","no"
+"2549",714,12,6,"afam","yes","yes",24,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",26,NA,"other","no"
+"2550",538,12,6,"other","no","yes",24,"no","yes","none","no","yes",9,"no","yes",12,10,"5",40,123,"both","no"
+"2551",355,13,7,"afam","no","yes",26,"no","yes","none","no","yes",10,"no","yes",9,8,"8",22,67,"both","no"
+"2552",240,12,6,"afam","no","yes",24,"no","yes","none","no","no",8,"no","yes",9.9399995803833,12,"4",28,NA,"singlemom","no"
+"2553",418,12,6,"other","no","yes",24,"no","yes","none","no","yes",8,"no","yes",9,12,"6",22,NA,"both","no"
+"2554",1026,13,8,"other","no","yes",27,"yes","no","private","no","yes",12,"no","yes",14,13,"1",42,104,"both","yes"
+"2555",295,17,9,"other","no","yes",32,"yes","no","private","no","no",15,"no","yes",12,14,"2",34,106,"both","yes"
+"2556",550,12,8,"afam","yes","yes",26,"yes","no","private","yes","yes",10,"no","yes",9.9399995803833,6,"9",24,85,"singlemom","yes"
+"2557",538,12,9,"afam","yes","yes",27,"yes","no","private","no","yes",10,"no","yes",9.9399995803833,8,"9",27,81,"singlemom","yes"
+"2558",350,5,19,"other","no","yes",30,"yes","no","private","no","yes",5,"no","yes",2,3,"8",37,NA,"both","no"
+"2559",711,12,9,"other","no","yes",27,"yes","no","private","no","yes",12,"no","yes",8,12,"6",37,109,"both","yes"
+"2560",229,12,11,"afam","no","yes",29,"yes","no","private","no","yes",12,"no","yes",4,4,"8",20,76,"both","no"
+"2561",220,12,9,"afam","no","yes",27,"yes","no","private","no","yes",12,"no","yes",4,3,"8",31,73,"both","no"
+"2562",310,12,11,"afam","no","yes",29,"yes","no","private","no","yes",12,"no","yes",8,2,"8",26,62,"both","no"
+"2563",320,12,6,"afam","yes","no",24,"yes","no","private","no","yes",9,"no","yes",10,10.25,"9",28,76,"other","yes"
+"2564",303,12,9,"afam","no","yes",27,"yes","no","private","no","yes",12,"no","yes",10,9,"7",26,76,"both","yes"
+"2565",450,13,7,"other","no","yes",26,"yes","no","private","yes","yes",10,"no","yes",5,12,"6",36,104,"both","yes"
+"2566",753,12,11,"afam","yes","yes",29,"yes","no","private","no","yes",12,"no","yes",9,11,"7",29,NA,"both","no"
+"2567",438,12,8,"other","no","yes",26,"yes","no","private","no","yes",11,"no","yes",4,11,"8",35,103,"both","no"
+"2568",325,11,11,"afam","no","yes",28,"yes","no","private","no","yes",9,"no","yes",1,7,"8",27,NA,"other","no"
+"2569",846,16,10,"other","no","yes",32,"yes","no","private","no","yes",15,"no","yes",9.9399995803833,12,"4",44,106,"singlemom","no"
+"2570",313,14,6,"other","no","yes",26,"yes","no","private","no","yes",10,"no","yes",12,14,"2",49,112,"step","yes"
+"2571",479,13,15,"other","yes","yes",34,"yes","no","private","no","yes",13,"yes","yes",7,12,"6",38,NA,"both","yes"
+"2572",429,12,13,"other","yes","yes",31,"yes","no","private","no","no",12,"yes","yes",10,9,"7",24,94,"both","yes"
+"2573",490,14,9,"other","yes","yes",29,"yes","no","private","yes","yes",12,"yes","yes",11,9,"7",25,83,"both","yes"
+"2574",361,12,6,"other","yes","yes",24,"yes","no","private","no","no",8,"yes","yes",11,9,"7",34,NA,"both","yes"
+"2575",400,14,13,"other","yes","yes",33,"yes","no","private","yes","yes",12,"yes","yes",0,2,"8",40,91,"both","no"
+"2576",423,12,6,"afam","yes","yes",24,"yes","no","private","no","yes",8,"no","yes",7,8,"8",30,NA,"both","no"
+"2577",311,12,9,"afam","no","yes",27,"yes","no","private","no","no",9,"no","yes",5,5,"8",12,NA,"both","no"
+"2578",271,11,10,"afam","no","yes",27,"yes","no","private","no","no",11,"no","yes",3,7,"8",12,NA,"both","no"
+"2579",385,18,2,"afam","yes","yes",26,"yes","no","private","no","no",11,"no","yes",12,12,"3",33,NA,"both","no"
+"2580",529,16,2,"afam","yes","yes",24,"yes","no","private","yes","yes",8,"no","yes",12,12,"3",18,NA,"both","no"
+"2581",700,11,14,"other","no","yes",31,"yes","no","private","no","yes",10,"no","yes",6,10,"8",29,81,"both","yes"
+"2582",381,10,16,"other","no","yes",32,"yes","no","private","no","yes",9,"no","yes",6,5,"8",15,87,"both","yes"
+"2583",465,12,10,"other","no","yes",28,"yes","no","private","no","yes",12,"no","yes",12,12,"3",36,118,"both","yes"
+"2584",400,10,18,"other","no","yes",34,"yes","no","private","no","yes",10,"no","yes",8,8,"8",37,NA,"both","no"
+"2585",455,10,17,"other","no","yes",33,"yes","no","private","no","no",10,"no","yes",9,8,"8",38,NA,"singlemom","yes"
+"2586",260,12,6,"afam","no","yes",24,"no","no","none","no","yes",7,"no","yes",9.9399995803833,4,"9",20,NA,"singlemom","no"
+"2587",705,13,9,"afam","yes","no",28,"no","no","none","no","yes",12,"no","yes",0,7,"8",26,NA,"both","no"
+"2588",417,13,11,"other","no","yes",30,"no","no","none","no","yes",13,"no","yes",9.9399995803833,10.25,"9",45,74,"both","yes"
+"2589",250,11,10,"afam","no","yes",27,"no","no","none","no","no",9,"no","yes",9.9399995803833,13,"4",14,NA,"singlemom","no"
+"2590",460,12,6,"afam","no","yes",24,"no","no","none","no","yes",8,"no","yes",9.9399995803833,2,"9",28,NA,"singlemom","no"
+"2591",325,8,12,"afam","no","yes",26,"no","no","none","no","yes",7,"no","yes",9.9399995803833,10.25,"9",19,NA,"singlemom","no"
+"2592",275,9,10,"afam","no","yes",25,"no","no","none","no","no",8,"no","yes",9.9399995803833,10.25,"9",15,NA,"singlemom","no"
+"2593",325,12,8,"afam","no","yes",26,"no","no","none","no","yes",9,"no","yes",7,10.25,"9",18,NA,"both","yes"
+"2594",300,15,4,"afam","yes","no",25,"no","no","none","yes","yes",9,"no","yes",9.9399995803833,8,"9",20,NA,"both","no"
+"2595",250,8,17,"afam","no","yes",31,"no","no","none","no","no",7,"no","yes",9.9399995803833,8,"9",17,NA,"singlemom","no"
+"2596",288,12,10,"other","no","yes",28,"no","no","none","no","yes",10,"no","yes",9,10,"7",39,NA,"both","yes"
+"2597",550,13,9,"afam","yes","yes",28,"no","no","none","yes","yes",13,"yes","yes",3,8,"8",16,85,"both","no"
+"2598",429,12,15,"other","no","yes",33,"no","no","none","yes","yes",12,"no","yes",12,12,"3",38,NA,"both","yes"
+"2599",375,8,16,"afam","yes","yes",30,"no","no","none","no","yes",6,"no","yes",9.9399995803833,10.25,"9",23,NA,"both","no"
+"2600",577,9,15,"other","no","yes",30,"no","no","none","no","yes",8,"no","yes",5,4,"8",26,NA,"both","no"
+"2601",531,13,6,"other","no","yes",25,"no","no","none","no","no",9,"no","yes",5,10.25,"9",25,96,"both","no"
+"2602",250,12,6,"other","yes","yes",24,"no","no","none","yes","no",8,"no","yes",4,10.25,"9",22,NA,"other","no"
+"2603",440,12,9,"other","no","yes",27,"no","no","none","no","yes",12,"no","yes",9.9399995803833,8,"9",27,73,"singlemom","yes"
+"2604",457,12,8,"other","no","yes",26,"no","no","none","no","yes",10,"no","yes",9.9399995803833,6,"9",27,75,"singlemom","no"
+"2605",438,12,9,"other","no","yes",27,"no","no","none","no","yes",12,"no","yes",5,5,"8",34,95,"both","yes"
+"2606",550,12,9,"afam","no","yes",27,"no","no","none","no","no",11,"no","yes",9.9399995803833,5,"9",42,102,"singlemom","yes"
+"2607",650,16,3,"other","yes","yes",25,"no","no","none","no","yes",10,"no","yes",12,16,"2",31,107,"both","yes"
+"2608",423,11,9,"other","no","yes",26,"no","no","none","no","yes",9,"no","yes",7,3,"8",19,86,"both","no"
+"2609",420,13,8,"other","yes","yes",27,"no","no","none","no","yes",12,"no","yes",18,8,"5",41,104,"both","yes"
+"2610",200,14,5,"other","yes","yes",25,"no","no","none","yes","no",10,"no","yes",18,8,"5",43,106,"both","yes"
+"2611",400,8,12,"other","no","yes",26,"no","no","none","no","yes",8,"no","yes",3,10,"8",24,NA,"both","no"
+"2612",300,9,9,"other","yes","yes",24,"no","no","none","no","yes",6,"no","yes",5,10.25,"9",16,NA,"other","no"
+"2613",714,12,12,"other","yes","yes",30,"no","no","none","no","yes",12,"no","yes",5,7,"8",21,95,"both","no"
+"2614",398,12,7,"other","no","yes",25,"no","no","none","no","yes",10,"no","yes",12,8,"5",37,116,"both","no"
+"2615",398,9,14,"other","no","yes",29,"no","no","none","no","yes",9,"no","yes",6,8,"8",20,66,"both","no"
+"2616",734,16,6,"other","yes","yes",28,"no","no","none","no","yes",13,"no","yes",5,0,"8",38,101,"both","yes"
+"2617",688,12,7,"other","no","yes",25,"no","no","none","no","yes",10,"no","yes",12,12,"3",23,96,"both","no"
+"2618",212,6,16,"other","no","yes",28,"no","no","none","no","no",6,"no","yes",3,11,"8",NA,NA,"both","yes"
+"2619",455,12,13,"other","no","yes",31,"no","no","none","no","yes",12,"no","yes",9.9399995803833,9,"9",41,104,"both","no"
+"2620",350,15,3,"other","yes","yes",24,"no","no","none","no","no",8,"no","yes",17,12,"2",32,NA,"both","yes"
+"2621",577,16,6,"other","no","yes",28,"no","no","none","no","no",13,"yes","yes",9.9399995803833,16,"4",39,138,"singlemom","yes"
+"2622",699,16,9,"other","no","no",31,"no","no","none","no","yes",15,"yes","yes",10,14,"6",34,105,"both","no"
+"2623",375,16,5,"other","no","yes",27,"no","no","none","no","no",11,"no","yes",14,12,"2",44,106,"both","yes"
+"2624",375,13,5,"other","no","yes",24,"no","no","none","no","yes",8,"no","yes",14,12,"2",33,NA,"both","yes"
+"2625",364,12,15,"other","no","yes",33,"no","no","none","no","yes",12,"no","yes",10,9,"7",40,NA,"both","yes"
+"2626",220,12,11,"afam","yes","yes",29,"no","no","none","no","no",11,"no","yes",11,4,"8",22,67,"step","no"
+"2627",621,16,9,"afam","yes","yes",31,"no","no","none","no","yes",15,"no","yes",0,0,"8",27,NA,"both","no"
+"2628",375,11,14,"afam","no","yes",31,"no","no","none","no","no",7,"no","yes",9.9399995803833,10.25,"9",31,NA,"other","no"
+"2629",341,16,4,"afam","no","yes",26,"no","no","none","no","no",10,"no","yes",12,10,"5",24,97,"both","no"
+"2630",380,16,2,"afam","no","yes",24,"no","no","none","no","yes",8,"no","yes",12,10,"5",16,NA,"both","no"
+"2631",260,11,15,"other","yes","yes",32,"no","no","none","no","yes",11,"no","yes",9.9399995803833,10.25,"9",37,NA,"other","no"
+"2632",489,8,16,"afam","yes","yes",30,"no","no","none","no","yes",7,"yes","yes",9.9399995803833,10.25,"9",30,NA,"both","no"
+"2633",433,11,9,"afam","yes","yes",26,"no","no","none","no","yes",10,"yes","yes",8,9,"8",18,NA,"both","no"
+"2634",365,11,10,"afam","yes","yes",27,"no","no","none","no","yes",11,"yes","yes",8,10.25,"9",19,NA,"both","no"
+"2635",257,14,13,"afam","yes","yes",33,"no","no","none","no","yes",14,"yes","yes",9.9399995803833,10.25,"9",41,NA,"singlemom","no"
+"2636",513,14,6,"other","yes","yes",26,"no","no","none","yes","yes",11,"yes","yes",12,12,"3",29,NA,"both","no"
+"2637",288,15,10,"other","yes","yes",31,"no","no","none","no","yes",14,"yes","yes",8,9,"8",40,108,"both","no"
+"2638",866,18,6,"other","yes","yes",30,"no","no","none","no","yes",14,"yes","yes",8,13,"6",44,125,"both","yes"
+"2639",433,12,7,"other","yes","yes",25,"no","no","none","no","no",9,"yes","yes",7,8,"8",34,106,"both","no"
+"2640",500,1,22,"other","yes","yes",29,"no","no","none","no","yes",1,"yes","yes",0,3,"8",8,NA,"both","no"
+"2641",548,16,2,"other","yes","yes",24,"no","no","none","no","yes",8,"yes","yes",12,12,"3",32,NA,"both","no"
+"2642",400,12,11,"other","yes","yes",29,"no","no","none","no","yes",12,"yes","yes",4,6,"8",25,99,"both","no"
+"2643",433,9,15,"other","yes","yes",30,"no","no","none","no","yes",8,"yes","yes",9.9399995803833,8,"9",20,NA,"both","no"
+"2644",375,13,5,"other","no","yes",24,"no","yes","none","no","yes",8,"no","yes",16,13,"1",26,NA,"both","yes"
+"2645",547,12,14,"other","yes","yes",32,"no","yes","none","no","yes",12,"yes","yes",12,12,"3",42,96,"both","no"
+"2646",375,12,6,"other","no","yes",24,"no","yes","none","no","no",8,"no","yes",12,12,"3",24,NA,"both","yes"
+"2647",500,14,5,"other","no","yes",25,"no","yes","none","no","yes",10,"no","yes",10,12,"6",33,114,"both","yes"
+"2648",355,16,2,"other","no","yes",24,"no","yes","none","yes","yes",9,"no","yes",18,15,"1",36,117,"both","yes"
+"2649",600,12,11,"other","yes","no",29,"no","yes","none","no","yes",12,"no","yes",9,12,"6",34,105,"both","yes"
+"2650",650,12,16,"other","yes","yes",34,"no","yes","none","no","yes",9,"yes","yes",2,3,"8",40,106,"both","no"
+"2651",848,12,14,"other","yes","yes",32,"no","yes","none","no","yes",12,"yes","yes",8,8,"8",44,102,"both","no"
+"2652",325,12,9,"other","yes","yes",27,"no","yes","none","no","yes",10,"yes","yes",10,9,"7",33,NA,"both","no"
+"2653",289,12,15,"afam","no","yes",33,"yes","no","public","no","no",12,"no","yes",9.9399995803833,10.25,"9",35,75,"other","no"
+"2654",457,14,4,"afam","no","yes",24,"yes","no","public","no","yes",9,"no","yes",5,5,"8",27,99,"both","no"
+"2655",711,14,9,"afam","yes","yes",29,"yes","no","public","no","yes",12,"yes","yes",12,12,"3",35,NA,"both","yes"
+"2656",413,13,15,"other","no","yes",34,"yes","no","public","no","yes",11,"no","yes",11,12,"6",46,90,"both","no"
+"2657",649,16,3,"afam","yes","yes",25,"yes","no","public","no","no",9,"no","yes",9.9399995803833,16,"4",26,101,"singlemom","no"
+"2658",633,13,7,"other","yes","yes",26,"yes","no","public","no","yes",11,"no","yes",9.9399995803833,10.25,"9",37,115,"both","no"
+"2659",721,16,6,"other","no","yes",28,"yes","no","public","no","yes",13,"no","yes",10,12,"6",37,118,"both","no"
+"2660",913,12,14,"other","yes","yes",32,"yes","no","public","no","yes",12,"no","yes",12,9,"5",40,108,"both","yes"
+"2661",375,13,7,"other","no","yes",26,"yes","no","public","yes","yes",10,"no","yes",8,5,"8",29,101,"both","no"
+"2662",592,18,3,"other","yes","yes",27,"yes","no","public","no","yes",12,"yes","yes",12,12,"3",37,127,"both","no"
+"2663",764,16,10,"other","no","yes",32,"no","no","none","no","yes",9,"no","yes",9.9399995803833,12,"4",41,114,"both","no"
+"2664",500,12,8,"other","no","yes",26,"no","no","none","no","yes",8,"no","yes",4,9,"8",24,NA,"both","no"
+"2665",275,11,8,"afam","yes","no",25,"no","no","none","no","yes",9,"no","yes",11,10,"7",30,76,"both","yes"
+"2666",260,10,8,"afam","yes","no",24,"no","no","none","no","no",8,"no","yes",11,10,"7",20,NA,"both","yes"
+"2667",962,16,6,"other","no","yes",28,"no","no","none","no","no",13,"yes","yes",12,16,"2",42,132,"both","yes"
+"2668",625,12,10,"afam","no","yes",28,"no","no","none","no","yes",12,"no","yes",9.9399995803833,3,"9",28,50,"singlemom","no"
+"2669",333,12,8,"afam","no","yes",26,"no","no","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",26,84,"singlemom","no"
+"2670",625,12,11,"afam","no","yes",29,"no","no","none","no","yes",12,"no","yes",9.9399995803833,10,"9",23,55,"other","no"
+"2671",250,10,8,"afam","no","yes",24,"no","no","none","no","no",8,"no","yes",9.9399995803833,10.25,"9",18,NA,"other","no"
+"2672",359,12,16,"afam","no","yes",34,"no","no","none","no","yes",11,"no","yes",9.9399995803833,10.25,"9",23,73,"other","no"
+"2673",550,12,16,"afam","no","yes",34,"no","no","none","no","yes",12,"no","yes",9.9399995803833,6,"9",19,NA,"singlemom","no"
+"2674",403,12,6,"afam","no","yes",24,"no","no","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",16,61,"both","no"
+"2675",463,11,9,"afam","yes","no",26,"no","no","none","no","no",9,"no","yes",9,9,"7",14,84,"both","no"
+"2676",396,12,6,"afam","no","yes",24,"no","no","none","no","no",5,"no","yes",4,5,"8",12,NA,"both","no"
+"2677",278,12,6,"afam","no","yes",24,"no","no","none","no","no",8,"no","yes",9.9399995803833,8,"9",20,NA,"both","no"
+"2678",400,14,7,"afam","no","yes",27,"no","yes","none","no","yes",11,"no","yes",9.9399995803833,10.25,"9",28,71,"other","no"
+"2679",415,16,2,"afam","no","yes",24,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",27,84,"other","no"
+"2680",462,12,15,"afam","no","yes",33,"no","yes","none","no","yes",12,"no","yes",7,7,"8",36,NA,"both","no"
+"2681",1442,18,9,"other","no","yes",33,"no","yes","none","no","no",16,"yes","yes",9.9399995803833,10.25,"9",44,101,"both","no"
+"2682",125,4,17,"afam","no","yes",27,"no","yes","none","no","no",4,"no","yes",9.9399995803833,10.25,"9",NA,NA,"other","no"
+"2683",200,10,18,"afam","no","yes",34,"no","yes","none","no","yes",10,"no","yes",9.9399995803833,8,"9",22,NA,"both","no"
+"2684",300,10,15,"afam","no","yes",31,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,9,"9",18,NA,"other","no"
+"2685",521,10,16,"afam","no","yes",32,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,9,"9",28,NA,"both","no"
+"2686",266,13,6,"afam","yes","yes",25,"no","yes","none","no","yes",10,"no","yes",10,12,"6",24,69,"both","no"
+"2687",325,11,9,"afam","no","yes",26,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",18,80,"other","no"
+"2688",350,9,15,"afam","yes","yes",30,"no","yes","none","no","no",8,"yes","yes",7,10,"8",19,NA,"both","no"
+"2689",340,9,19,"afam","no","yes",34,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,10.25,"9",41,NA,"other","no"
+"2690",625,13,6,"afam","no","yes",25,"no","yes","none","no","yes",8,"no","yes",3,7,"8",28,NA,"both","no"
+"2691",214,10,13,"other","no","yes",29,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,9,"9",16,69,"both","no"
+"2692",688,12,10,"other","no","yes",28,"no","yes","none","no","yes",12,"no","yes",9,12,"6",37,104,"both","no"
+"2693",275,8,18,"other","yes","yes",32,"no","yes","none","no","yes",8,"no","yes",5,12,"6",31,NA,"both","no"
+"2694",457,10,16,"other","no","yes",32,"no","yes","none","no","yes",9,"no","yes",6,10,"8",40,92,"both","yes"
+"2695",615,12,8,"afam","yes","yes",26,"no","yes","none","no","no",9,"no","yes",9.9399995803833,8,"9",28,NA,"both","no"
+"2696",732,16,3,"afam","yes","no",25,"no","yes","none","no","yes",10,"no","yes",13,10.25,"5",40,102,"both","no"
+"2697",163,12,8,"afam","no","yes",26,"no","yes","none","no","no",6,"no","yes",9.9399995803833,10.25,"9",25,NA,"singlemom","no"
+"2698",260,8,10,"afam","no","yes",24,"no","yes","none","no","no",5,"no","yes",9.9399995803833,10.25,"9",18,NA,"singlemom","no"
+"2699",492,11,10,"other","no","yes",27,"no","yes","none","no","yes",10,"no","yes",9.9399995803833,10.25,"9",26,NA,"both","no"
+"2700",575,12,8,"afam","yes","no",26,"no","yes","none","no","yes",10,"no","yes",9.9399995803833,10.25,"9",16,NA,"both","no"
+"2701",510,12,7,"afam","yes","no",25,"no","yes","none","no","no",9,"no","yes",9.9399995803833,10.25,"9",22,NA,"other","no"
+"2702",565,8,12,"afam","yes","yes",26,"no","yes","none","no","no",8,"no","yes",9.9399995803833,10.25,"9",16,NA,"other","no"
+"2703",515,9,14,"afam","no","yes",29,"no","yes","none","no","no",9,"no","yes",6,4,"8",23,NA,"both","no"
+"2704",471,8,11,"afam","yes","no",25,"no","yes","none","no","yes",6,"no","yes",6,4,"8",18,NA,"both","no"
+"2705",335,13,8,"afam","no","yes",27,"no","yes","none","yes","yes",12,"no","yes",9.9399995803833,12,"4",21,97,"singlemom","no"
+"2706",481,12,10,"afam","no","yes",28,"no","yes","none","no","yes",11,"no","yes",6,10,"8",27,83,"both","no"
+"2707",642,12,8,"afam","no","yes",26,"no","yes","none","no","yes",10,"no","yes",6,10,"8",36,98,"both","yes"
+"2708",573,10,9,"afam","no","yes",25,"no","yes","none","no","yes",9,"no","yes",7,10,"8",25,70,"both","no"
+"2709",315,6,20,"afam","no","yes",32,"no","yes","none","no","yes",6,"no","yes",9.9399995803833,10.25,"9",19,NA,"both","no"
+"2710",360,11,13,"afam","yes","yes",30,"no","yes","none","no","yes",11,"no","yes",0,8,"8",45,NA,"both","no"
+"2711",339,12,7,"afam","yes","yes",25,"no","yes","none","no","no",9,"no","yes",9.9399995803833,10.25,"9",26,90,"other","no"
+"2712",400,13,7,"other","no","yes",26,"no","yes","none","no","yes",9,"no","yes",10,4,"8",26,87,"both","no"
+"2713",300,15,3,"other","no","yes",24,"no","yes","none","no","no",9,"no","yes",9.9399995803833,12,"4",38,96,"both","no"
+"2714",580,10,18,"other","no","yes",34,"no","yes","none","no","yes",10,"no","yes",10,12,"6",34,80,"both","no"
+"2715",321,14,4,"other","no","yes",24,"no","yes","none","no","no",9,"no","yes",8,12,"6",34,102,"both","no"
+"2716",475,12,8,"afam","yes","no",26,"no","yes","none","no","no",10,"no","yes",2,10.25,"9",21,79,"other","yes"
+"2717",445,7,12,"afam","yes","no",25,"no","yes","none","no","yes",4,"no","yes",2,10.25,"9",16,NA,"other","no"
+"2718",300,6,13,"afam","no","yes",25,"no","yes","none","no","no",3,"no","yes",9.9399995803833,6,"9",4,NA,"singlemom","no"
+"2719",252,10,11,"afam","no","yes",27,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,5,"9",14,NA,"both","yes"
+"2720",419,12,7,"afam","no","yes",25,"no","yes","none","no","yes",8,"no","yes",9,2,"8",20,NA,"both","yes"
+"2721",317,6,22,"afam","no","yes",34,"no","yes","none","no","yes",5,"no","yes",9.9399995803833,10.25,"9",30,NA,"both","no"
+"2722",553,16,7,"other","no","yes",29,"no","yes","none","no","yes",12,"no","yes",10,12,"6",40,104,"both","no"
+"2723",721,18,7,"other","no","yes",31,"no","no","none","no","yes",16,"no","yes",8,9,"8",35,104,"both","yes"
+"2724",729,13,6,"other","no","yes",25,"no","no","none","no","no",10,"no","yes",8,12,"6",30,101,"both","yes"
+"2725",314,12,7,"other","yes","yes",25,"no","no","none","no","yes",10,"no","yes",5,8,"8",28,115,"both","no"
+"2726",220,9,12,"other","no","yes",27,"no","no","none","no","no",7,"no","yes",9,3,"8",18,NA,"both","no"
+"2727",235,8,11,"afam","no","yes",25,"yes","no","private","no","yes",7,"no","yes",9.9399995803833,4,"9",24,NA,"singlemom","no"
+"2728",333,9,12,"afam","no","yes",27,"yes","no","private","no","yes",7,"no","yes",9.9399995803833,5,"9",22,NA,"singlemom","no"
+"2729",333,11,9,"afam","no","yes",26,"yes","no","private","no","yes",7,"no","yes",9.9399995803833,5,"9",12,NA,"singlemom","no"
+"2730",333,11,13,"afam","no","yes",30,"yes","no","private","no","no",11,"no","yes",9,7,"8",NA,NA,"both","no"
+"2731",380,12,10,"afam","no","yes",28,"yes","no","private","no","yes",11,"no","yes",9,7,"8",26,NA,"both","no"
+"2732",390,12,8,"afam","no","yes",26,"yes","no","private","no","no",11,"no","yes",9,7,"8",24,NA,"both","no"
+"2733",250,5,23,"afam","no","yes",34,"yes","no","private","no","no",5,"no","yes",9.9399995803833,6,"9",18,NA,"both","no"
+"2734",673,17,4,"afam","yes","yes",27,"yes","no","private","yes","no",12,"yes","yes",6,11,"8",27,107,"both","no"
+"2735",483,16,4,"afam","yes","yes",26,"yes","no","private","yes","no",10,"no","yes",7,10,"8",29,98,"both","no"
+"2736",769,16,3,"afam","yes","yes",25,"yes","no","private","no","no",9,"no","yes",7,10,"8",25,96,"both","no"
+"2737",325,4,15,"afam","yes","yes",25,"yes","no","private","no","yes",3,"no","yes",0,4,"8",8,NA,"both","no"
+"2738",465,11,13,"afam","no","yes",30,"yes","no","private","no","yes",7,"no","yes",9.9399995803833,10.25,"9",18,NA,"other","no"
+"2739",350,14,4,"other","no","yes",24,"yes","no","private","no","no",8,"no","yes",16,10,"5",21,NA,"both","no"
+"2740",375,12,8,"afam","yes","yes",26,"yes","no","private","no","yes",11,"no","yes",3,6,"8",25,NA,"both","no"
+"2741",300,5,16,"other","no","yes",27,"yes","no","private","no","yes",4,"no","yes",1,1,"8",35,NA,"both","no"
+"2742",475,16,3,"afam","yes","yes",25,"yes","no","private","no","yes",9,"no","yes",7,10,"8",21,NA,"both","no"
+"2743",528,12,9,"afam","yes","no",27,"yes","no","private","no","yes",10,"no","yes",9.9399995803833,10.25,"9",18,NA,"other","yes"
+"2744",513,10,10,"afam","no","yes",26,"yes","no","private","no","yes",7,"no","yes",9.9399995803833,10.25,"9",27,NA,"other","no"
+"2745",445,12,9,"afam","yes","no",27,"yes","no","private","no","no",10,"no","yes",9.9399995803833,10.25,"9",32,NA,"other","no"
+"2746",265,11,12,"afam","no","yes",29,"yes","no","private","no","yes",8,"no","yes",7,6,"8",28,NA,"both","no"
+"2747",260,12,9,"afam","no","yes",27,"yes","no","private","no","yes",7,"no","yes",7,6,"8",16,NA,"both","no"
+"2748",318,9,9,"afam","yes","yes",24,"yes","no","private","no","no",6,"no","yes",0,7,"8",10,NA,"both","no"
+"2749",626,12,8,"other","no","yes",26,"no","no","none","no","yes",10,"no","yes",12,11,"5",39,99,"both","yes"
+"2750",400,11,8,"other","no","yes",25,"no","no","none","no","no",9,"no","yes",14,9,"5",33,NA,"both","no"
+"2751",378,14,4,"other","yes","yes",24,"no","no","none","no","yes",9,"no","yes",11,10,"7",25,NA,"both","no"
+"2752",803,16,7,"other","no","yes",29,"no","no","none","no","yes",13,"no","yes",18,12,"2",34,112,"both","yes"
+"2753",447,16,3,"other","no","yes",25,"no","no","none","no","no",9,"no","yes",18,12,"2",25,118,"both","yes"
+"2754",319,15,7,"other","no","yes",28,"no","yes","none","no","yes",12,"no","yes",12,9,"5",26,83,"both","no"
+"2755",401,8,16,"other","no","yes",30,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,2,"9",25,NA,"singlemom","no"
+"2756",438,9,12,"other","yes","yes",27,"no","yes","none","no","no",9,"no","yes",2,2,"8",31,NA,"both","no"
+"2757",417,10,8,"other","yes","yes",24,"no","yes","none","no","yes",8,"no","yes",2,2,"8",36,NA,"both","no"
+"2758",375,10,9,"other","no","yes",25,"no","yes","none","no","yes",8,"no","yes",5,11,"8",24,NA,"both","yes"
+"2759",616,16,8,"other","yes","yes",30,"no","yes","none","no","yes",15,"no","yes",12,12,"3",41,107,"both","yes"
+"2760",354,12,10,"other","yes","yes",28,"no","yes","none","no","yes",12,"no","yes",13,12,"2",38,91,"both","yes"
+"2761",425,18,4,"other","yes","yes",28,"no","yes","none","no","yes",12,"yes","yes",18,12,"2",24,96,"both","no"
+"2762",265,12,8,"other","no","yes",26,"no","yes","none","no","no",10,"no","yes",18,12,"2",24,89,"both","yes"
+"2763",426,14,4,"other","yes","yes",24,"no","yes","none","no","no",9,"no","yes",13,13,"1",41,118,"both","yes"
+"2764",250,12,7,"other","no","yes",25,"no","yes","none","no","yes",10,"no","yes",13,10,"5",39,113,"both","yes"
+"2765",560,17,2,"other","yes","yes",25,"no","yes","none","no","no",10,"no","yes",12,12,"3",33,116,"both","yes"
+"2766",289,12,11,"other","no","yes",29,"no","yes","none","no","yes",12,"no","yes",7,7,"8",29,105,"both","no"
+"2767",393,16,4,"other","no","yes",26,"no","yes","none","no","yes",10,"no","yes",7,7,"8",30,120,"both","yes"
+"2768",577,12,8,"other","yes","yes",26,"no","yes","none","no","yes",10,"no","yes",6,7,"8",32,107,"both","yes"
+"2769",346,17,9,"other","no","yes",32,"no","yes","none","no","yes",17,"no","yes",12,11,"5",49,94,"both","yes"
+"2770",1282,16,6,"other","yes","yes",28,"no","yes","none","no","yes",12,"yes","yes",12,12,"3",31,98,"both","yes"
+"2771",865,17,5,"other","yes","no",28,"yes","yes","private","yes","yes",14,"yes","yes",12,16,"2",36,126,"both","no"
+"2772",413,14,4,"other","yes","yes",24,"yes","yes","private","no","yes",9,"no","yes",12,16,"2",28,96,"both","yes"
+"2773",225,6,17,"other","yes","no",29,"yes","yes","private","no","no",6,"no","yes",9.9399995803833,12,"4",25,NA,"both","no"
+"2774",404,14,7,"other","yes","no",27,"yes","no","public","no","no",10,"no","yes",4,7,"8",39,84,"both","yes"
+"2775",721,12,13,"other","yes","yes",31,"yes","no","public","no","yes",12,"yes","yes",3,7,"8",36,108,"both","yes"
+"2776",577,12,12,"other","yes","yes",30,"yes","no","public","no","yes",12,"yes","yes",3,8,"8",32,104,"both","yes"
+"2777",500,12,8,"other","no","yes",26,"yes","no","public","no","yes",10,"no","yes",6,8,"8",20,110,"both","no"
+"2778",250,12,11,"other","no","yes",29,"yes","no","public","no","yes",12,"no","yes",7,6,"8",35,96,"both","yes"
+"2779",155,12,8,"other","no","yes",26,"yes","no","public","no","yes",11,"no","yes",7,7,"8",28,106,"both","yes"
+"2780",406,12,9,"other","no","yes",27,"yes","no","public","yes","yes",9,"no","yes",6,7,"8",18,68,"both","yes"
+"2781",350,12,15,"afam","yes","yes",33,"no","yes","none","no","yes",12,"yes","yes",9.9399995803833,3,"9",45,83,"singlemom","yes"
+"2782",462,12,8,"afam","yes","yes",26,"no","yes","none","no","no",9,"yes","yes",9.9399995803833,10.25,"9",24,66,"other","yes"
+"2783",500,10,18,"other","yes","yes",34,"no","yes","none","no","yes",10,"yes","yes",7,12,"6",34,70,"both","yes"
+"2784",846,16,8,"other","yes","yes",30,"no","yes","none","no","yes",13,"yes","yes",12,11,"5",39,104,"both","yes"
+"2785",577,12,11,"other","yes","yes",29,"no","yes","none","no","yes",12,"yes","yes",9,12,"6",41,87,"both","yes"
+"2786",400,16,6,"other","yes","yes",28,"no","yes","none","no","yes",12,"yes","yes",10,12,"6",38,110,"both","yes"
+"2787",741,11,17,"other","no","no",34,"no","yes","none","no","yes",11,"yes","yes",8,12,"6",38,87,"both","yes"
+"2788",350,14,5,"other","yes","yes",25,"no","yes","none","no","no",9,"yes","yes",12,12,"3",31,100,"both","yes"
+"2789",438,12,8,"other","yes","yes",26,"no","yes","none","no","yes",10,"yes","yes",12,14,"2",42,91,"both","yes"
+"2790",727,13,6,"other","yes","yes",25,"no","yes","none","no","no",10,"yes","yes",16,15,"1",35,NA,"both","yes"
+"2791",970,11,8,"other","yes","yes",25,"no","yes","none","no","yes",7,"yes","yes",4,6,"8",28,NA,"both","yes"
+"2792",751,16,8,"other","yes","yes",30,"no","no","none","no","yes",15,"no","yes",12,12,"3",48,109,"both","no"
+"2793",577,18,6,"other","yes","yes",30,"no","no","none","no","yes",14,"no","yes",18,14,"1",42,112,"both","yes"
+"2794",404,16,8,"other","no","yes",30,"no","no","none","no","yes",13,"no","yes",12,12,"3",31,106,"both","no"
+"2795",616,12,12,"other","no","yes",30,"no","no","none","no","yes",12,"no","yes",12,12,"3",36,94,"both","no"
+"2796",230,16,3,"other","no","yes",25,"no","no","none","no","yes",9,"no","yes",8,6,"8",36,NA,"both","no"
+"2797",142,12,6,"other","no","yes",24,"no","no","none","no","no",8,"no","yes",8,6,"8",30,NA,"both","no"
+"2798",385,18,6,"other","no","yes",30,"no","no","none","no","yes",15,"no","yes",9,12,"6",45,NA,"both","yes"
+"2799",385,12,9,"other","yes","yes",27,"no","no","none","no","no",12,"no","yes",13,6,"5",30,95,"both","no"
+"2800",422,12,6,"other","no","yes",24,"no","no","none","no","yes",8,"no","yes",3,10.25,"9",35,NA,"both","yes"
+"2801",650,12,9,"afam","no","no",27,"no","no","none","no","no",10,"no","yes",3,6,"8",23,NA,"both","no"
+"2802",230,8,16,"afam","no","yes",30,"no","no","none","no","no",8,"no","yes",9.9399995803833,4,"9",19,NA,"singlemom","no"
+"2803",672,15,9,"other","no","yes",30,"no","no","none","no","yes",13,"no","yes",12,12,"3",43,89,"both","yes"
+"2804",354,18,3,"afam","yes","yes",27,"no","no","none","no","yes",12,"no","yes",3,11,"8",42,NA,"both","yes"
+"2805",250,13,7,"afam","no","yes",26,"no","no","none","yes","no",9,"no","yes",2,11,"8",35,NA,"both","no"
+"2806",300,11,14,"afam","no","yes",31,"no","no","none","no","no",11,"no","yes",9.9399995803833,7,"9",25,NA,"step","no"
+"2807",400,12,6,"afam","no","yes",24,"no","no","none","no","yes",8,"no","yes",9.9399995803833,2,"9",18,NA,"singlemom","yes"
+"2808",300,7,21,"afam","no","yes",34,"no","no","none","no","yes",6,"no","yes",9.9399995803833,10.25,"9",18,NA,"singlemom","no"
+"2809",460,13,8,"afam","no","yes",27,"no","no","none","no","yes",11,"no","yes",9.9399995803833,5,"9",19,NA,"both","no"
+"2810",432,12,9,"afam","yes","no",27,"no","no","none","no","no",10,"no","yes",9.9399995803833,5,"9",18,NA,"both","no"
+"2811",250,11,9,"afam","no","yes",26,"no","no","none","no","yes",10,"no","yes",6,11,"8",12,NA,"both","yes"
+"2812",315,5,17,"other","yes","yes",28,"no","no","none","no","yes",5,"no","yes",9.9399995803833,4,"9",24,NA,"both","no"
+"2813",625,12,10,"other","no","yes",28,"no","no","none","no","no",12,"no","yes",7,10,"8",38,85,"step","yes"
+"2814",500,10,10,"other","no","yes",26,"no","no","none","no","yes",9,"no","yes",9,12,"6",27,97,"both","yes"
+"2815",331,12,9,"other","no","yes",27,"no","no","none","no","no",10,"no","yes",5,7,"8",26,83,"both","yes"
+"2816",585,12,10,"other","no","yes",28,"no","no","none","no","yes",12,"no","yes",10,10,"7",40,99,"both","yes"
+"2817",320,13,9,"afam","no","yes",28,"no","no","none","yes","yes",11,"no","yes",9.9399995803833,9,"9",24,75,"singlemom","no"
+"2818",300,11,11,"afam","no","yes",28,"no","no","none","no","yes",11,"no","yes",9.9399995803833,9,"9",26,68,"both","yes"
+"2819",738,16,10,"other","no","yes",32,"no","no","none","no","yes",15,"no","yes",8,12,"6",41,107,"both","no"
+"2820",385,12,12,"afam","no","yes",30,"no","no","none","no","no",12,"no","yes",9.9399995803833,10.25,"9",30,74,"both","no"
+"2821",641,13,7,"afam","no","yes",26,"no","no","none","yes","yes",11,"no","yes",6,7,"8",30,105,"both","no"
+"2822",325,5,21,"afam","no","yes",32,"no","no","none","no","yes",4,"no","yes",0,7,"8",18,NA,"both","no"
+"2823",406,12,6,"afam","no","yes",24,"no","no","none","no","yes",8,"no","yes",9.9399995803833,4,"9",22,NA,"singlemom","no"
+"2824",300,6,20,"afam","no","yes",32,"no","no","none","no","yes",6,"no","yes",0,7,"8",16,NA,"both","no"
+"2825",176,7,16,"afam","no","yes",29,"no","no","none","no","no",7,"no","yes",3,10.25,"9",24,NA,"both","no"
+"2826",450,11,10,"afam","no","yes",27,"no","no","none","no","yes",9,"no","yes",3,10.25,"9",29,51,"both","yes"
+"2827",292,10,8,"afam","no","yes",24,"no","no","none","no","no",7,"no","yes",3,10.25,"9",10,NA,"other","yes"
+"2828",801,12,9,"other","no","yes",27,"no","no","none","no","yes",11,"no","yes",9.9399995803833,10.25,"9",40,100,"both","no"
+"2829",375,9,12,"afam","no","yes",27,"no","no","none","no",NA,9,"no","yes",6,8,"8",18,75,"both","yes"
+"2830",230,10,8,"afam","no","yes",24,"no","no","none","no","yes",8,"no","yes",6,8,"8",15,NA,"both","no"
+"2831",535,13,14,"afam","no","yes",33,"no","no","none","yes","yes",12,"no","yes",2,5,"8",30,83,"both","no"
+"2832",422,7,18,"afam","no","yes",31,"no","no","none","no","yes",7,"no","yes",2,5,"8",27,NA,"both","yes"
+"2833",361,10,11,"other","no","yes",27,"no","no","none","no","no",9,"no","yes",9.9399995803833,6,"9",28,86,"other","yes"
+"2834",300,9,12,"other","no","yes",27,"no","no","none","no","yes",9,"no","yes",8,7,"8",37,96,"both","no"
+"2835",558,12,10,"other","no","yes",28,"no","no","none","no","yes",12,"no","yes",9,12,"6",36,90,"both","no"
+"2836",470,16,6,"afam","no","yes",28,"no","no","none","no","yes",11,"no","yes",8,5,"8",31,NA,"both","no"
+"2837",486,12,16,"other","no","yes",34,"no","no","none","no","no",12,"no","yes",3,5,"8",33,86,"both","no"
+"2838",600,12,8,"other","no","yes",26,"no","no","none","no","yes",11,"no","yes",9.9399995803833,10.25,"9",37,102,"step","no"
+"2839",363,11,17,"afam","no","yes",34,"no","no","none","no","yes",8,"no","yes",9.9399995803833,4,"9",27,NA,"both","no"
+"2840",200,10,8,"afam","yes","yes",24,"no","no","none","no",NA,7,"no","yes",1,4,"8",14,NA,"both","no"
+"2841",142,8,16,"afam","no","yes",30,"no","no","none","no","yes",8,"no","yes",9.9399995803833,10.25,"9",12,NA,"other","no"
+"2842",448,12,15,"other","no","yes",33,"no","no","none","yes","yes",8,"no","yes",2,2,"8",33,NA,"both","no"
+"2843",300,11,12,"afam","no","yes",29,"no","yes","none","no","no",10,"no","yes",9.9399995803833,1,"9",20,NA,"both","no"
+"2844",706,12,13,"other","yes","no",31,"no","yes","none","no","yes",12,"no","yes",9.9399995803833,12,"4",45,NA,"both","yes"
+"2845",534,12,8,"other","yes","no",26,"no","yes","none","no","yes",10,"no","yes",9.9399995803833,12,"4",43,101,"singlemom","no"
+"2846",260,13,10,"afam","no","yes",29,"no","yes","none","no","yes",13,"no","yes",5,10.25,"9",27,NA,"both","no"
+"2847",675,12,8,"afam","yes","no",26,"no","yes","none","no","yes",7,"no","yes",6,7,"8",25,NA,"both","no"
+"2848",260,7,18,"afam","no","yes",31,"no","yes","none","no","no",7,"no","yes",1,3,"8",16,NA,"step","no"
+"2849",300,10,18,"afam","no","yes",34,"no","yes","none","no","no",9,"no","yes",9.9399995803833,10.25,"9",31,NA,"other","no"
+"2850",1215,16,5,"other","yes","yes",27,"no","yes","none","yes","no",11,"no","yes",14,13,"1",40,84,"both","yes"
+"2851",577,17,5,"other","no","yes",28,"no","yes","none","no","yes",12,"no","yes",12,12,"3",37,116,"both","no"
+"2852",250,14,7,"afam","no","yes",27,"no","yes","none","no","no",11,"no","yes",9.9399995803833,10,"9",26,99,"singlemom","no"
+"2853",394,10,14,"afam","yes","no",30,"no","yes","none","no","no",8,"no","yes",9.9399995803833,8,"9",20,NA,"singlemom","no"
+"2854",275,8,10,"afam","no","yes",24,"no","yes","none","no","yes",7,"no","yes",4,8,"8",10,NA,"both","no"
+"2855",225,9,17,"afam","no","yes",32,"no","yes","none","no","yes",9,"no","yes",5,5,"8",14,NA,"both","no"
+"2856",275,7,12,"afam","no","yes",25,"no","yes","none","no","no",6,"no","yes",3,4,"8",18,NA,"both","no"
+"2857",356,9,15,"afam","no","yes",30,"no","yes","none","no","no",8,"no","yes",7,8,"8",14,NA,"both","no"
+"2858",885,12,7,"afam","yes","no",25,"no","yes","none","no","yes",9,"no","yes",7,12,"6",26,NA,"both","no"
+"2859",192,16,2,"afam","yes","yes",24,"no","yes","none","no","no",8,"no","yes",7,12,"6",12,NA,"both","no"
+"2860",420,7,16,"afam","no","yes",29,"no","yes","none","no","no",7,"no","yes",9.9399995803833,2,"9",19,NA,"singlemom","no"
+"2861",375,7,20,"afam","no","yes",33,"no","yes","none","no","yes",7,"no","yes",9.9399995803833,2,"9",14,NA,"singlemom","no"
+"2862",364,7,18,"afam","no","yes",31,"no","yes","none","no","yes",7,"no","yes",9.9399995803833,2,"9",NA,NA,"singlemom","no"
+"2863",400,12,8,"other","no","yes",26,"no","yes","none","no","yes",10,"no","yes",12,11,"5",37,107,"both","no"
+"2864",353,12,8,"afam","yes","yes",26,"no","yes","none","no","yes",11,"no","yes",10,9,"7",22,NA,"both","no"
+"2865",300,13,10,"other","no","yes",29,"no","yes","none","no","yes",12,"no","yes",12,14,"2",40,116,"both","no"
+"2866",416,15,4,"other","yes","yes",25,"no","yes","none","no","yes",9,"no","yes",9,11,"7",33,109,"both","no"
+"2867",600,11,9,"afam","no","yes",26,"no","yes","none","no","yes",10,"no","yes",9.9399995803833,10,"9",19,NA,"singlemom","no"
+"2868",973,13,10,"afam","yes","no",29,"no","yes","none","yes","yes",12,"no","yes",3,8,"8",29,NA,"both","yes"
+"2869",230,5,18,"afam","no","yes",29,"no","yes","none","no","yes",5,"no","yes",2,10.25,"9",10,NA,"other","no"
+"2870",311,12,9,"afam","no","yes",27,"no","yes","none","no","yes",6,"no","yes",2,10.25,"9",20,NA,"other","no"
+"2871",274,8,17,"afam","no","yes",31,"no","yes","none","no","yes",8,"no","yes",3,6,"8",31,NA,"both","no"
+"2872",400,11,10,"afam","yes","no",27,"no","yes","none","no","no",7,"no","yes",9.9399995803833,10.25,"9",29,NA,"other","yes"
+"2873",200,8,12,"afam","no","yes",26,"no","yes","none","no","no",6,"no","yes",9.9399995803833,10.25,"9",24,NA,"other","no"
+"2874",435,13,7,"afam","no","yes",26,"no","yes","none","no","yes",9,"no","yes",6,8,"8",23,NA,"both","no"
+"2875",230,6,17,"afam","no","yes",29,"no","yes","none","no","yes",5,"no","yes",1,5,"8",8,NA,"both","no"
+"2876",731,6,18,"afam","yes","no",30,"no","yes","none","no","yes",6,"no","yes",9.9399995803833,8,"9",23,NA,"singlemom","no"
+"2877",270,10,17,"afam","no","yes",33,"no","yes","none","no","yes",6,"no","yes",8,8,"8",16,NA,"both","no"
+"2878",176,8,12,"afam","no","yes",26,"no","yes","none","no","yes",8,"no","yes",4,8,"8",18,NA,"both","no"
+"2879",250,12,7,"afam","no","yes",25,"no","yes","none","no","yes",8,"no","yes",4,8,"8",14,NA,"both","no"
+"2880",333,10,14,"afam","no","yes",30,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,10,"9",25,NA,"both","no"
+"2881",438,12,7,"afam","yes","no",25,"no","yes","none","no","no",8,"no","yes",8,16,"6",42,NA,"step","no"
+"2882",428,16,4,"afam","yes","yes",26,"no","yes","none","no","yes",11,"no","yes",9.9399995803833,10.25,"9",18,NA,"both","no"
+"2883",740,16,7,"other","yes","yes",29,"no","yes","none","no","yes",13,"no","yes",8,12,"6",31,76,"both","no"
+"2884",700,12,8,"afam","yes","no",26,"no","yes","none","no","yes",9,"no","yes",9.9399995803833,8,"9",24,NA,"singlemom","no"
+"2885",245,12,6,"afam","no","yes",24,"no","yes","none","no","no",7,"no","yes",4,7,"8",10,NA,"step","no"
+"2886",230,12,8,"afam","no","yes",26,"no","yes","none","no","no",6,"no","yes",2,8,"8",16,NA,"both","no"
+"2887",273,15,8,"afam","no","yes",29,"no","yes","none","no","yes",14,"no","yes",5,12,"6",27,72,"both","no"
+"2888",632,14,8,"afam","yes","no",28,"no","yes","none","no","yes",12,"no","yes",9.9399995803833,10.25,"9",31,105,"other","no"
+"2889",289,16,3,"afam","yes","no",25,"no","yes","none","no","yes",9,"no","yes",8,12,"6",23,65,"both","yes"
+"2890",300,8,18,"afam","no","yes",32,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,5,"9",22,NA,"singlemom","no"
+"2891",230,10,13,"afam","no","yes",29,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,5,"9",14,NA,"singlemom","no"
+"2892",395,8,16,"afam","no","yes",30,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,5,"9",28,NA,"singlemom","no"
+"2893",572,9,9,"afam","no","yes",24,"no","yes","none","no","no",8,"no","yes",5,5,"8",8,NA,"both","no"
+"2894",625,17,7,"afam","yes","no",30,"no","yes","none","no","no",14,"no","yes",8,8,"8",30,NA,"both","no"
+"2895",550,16,3,"afam","yes","no",25,"no","yes","none","no","no",9,"no","yes",9.9399995803833,10.25,"9",22,NA,"other","no"
+"2896",250,9,11,"afam","no","yes",26,"no","yes","none","no","yes",9,"no","yes",8,8,"8",21,NA,"both","no"
+"2897",363,8,13,"other","no","yes",27,"no","yes","none","no","yes",8,"no","yes",9.9399995803833,10.25,"9",30,NA,"both","no"
+"2898",100,14,14,"afam","no","yes",34,"no","yes","none","no","yes",13,"no","yes",4,12,"6",26,NA,"both","no"
+"2899",350,12,15,"afam","yes","no",33,"no","yes","none","no","yes",9,"yes","no",9.9399995803833,10.25,"9",18,NA,"step","no"
+"2900",290,10,9,"afam","no","yes",25,"no","yes","none","no","no",6,"no","yes",9.9399995803833,6,"9",18,NA,"both","no"
+"2901",250,4,22,"afam","no","yes",32,"no","yes","none","no","no",2,"no","yes",9.9399995803833,4,"9",NA,NA,"singlemom","no"
+"2902",833,8,19,"afam","yes","yes",33,"no","yes","none","no","yes",8,"yes","yes",9.9399995803833,3,"9",22,NA,"singlemom","no"
+"2903",435,10,9,"afam","yes","yes",25,"no","yes","none","no","yes",7,"no","yes",9.9399995803833,10.25,"9",20,NA,"other","no"
+"2904",333,12,9,"afam","yes","no",27,"no","yes","none","no","no",10,"yes","no",9.9399995803833,10.25,"9",26,98,"other","yes"
+"2905",306,12,8,"other","no","yes",26,"no","no","none","no","no",10,"no","yes",9.9399995803833,12,"4",27,93,"singlemom","no"
+"2906",573,18,9,"other","no","yes",33,"no","no","none","no","yes",16,"no","yes",7,7,"8",43,108,"both","no"
+"2907",288,12,7,"other","yes","yes",25,"no","no","none","no","no",8,"yes","yes",10,6,"8",19,NA,"both","no"
+"2908",463,12,10,"afam","yes","yes",28,"no","no","none","no","no",10,"no","yes",9.9399995803833,10.25,"9",12,74,"other","no"
+"2909",389,12,16,"other","no","yes",34,"no","no","none","no","yes",12,"no","yes",7,12,"6",40,107,"both","no"
+"2910",1106,16,10,"other","no","yes",32,"no","no","none","no","no",16,"no","yes",14,12,"2",48,110,"both","no"
+"2911",245,16,2,"other","yes","yes",24,"no","no","none","no","no",9,"yes","yes",9,10,"7",34,114,"both","no"
+"2912",358,12,7,"other","yes","yes",25,"no","no","none","no","yes",8,"yes","yes",9.9399995803833,12,"4",28,NA,"both","no"
+"2913",357,8,20,"other","yes","yes",34,"no","no","none","no","yes",8,"yes","yes",7,8,"8",34,NA,"both","yes"
+"2914",400,12,12,"afam","no","yes",30,"no","no","none","no","yes",12,"no","yes",6,6,"8",24,72,"both","no"
+"2915",300,10,9,"other","no","yes",25,"no","no","none","no","no",9,"no","yes",12,9,"5",38,117,"both","no"
+"2916",553,16,5,"other","yes","yes",27,"no","no","none","yes","yes",12,"no","yes",15,15,"1",42,107,"both","yes"
+"2917",300,8,17,"other","no","yes",31,"no","no","none","no","yes",8,"no","yes",4,10,"8",29,NA,"both","no"
+"2918",450,7,17,"other","yes","yes",30,"no","no","none","no","yes",7,"no","yes",9.9399995803833,10.25,"9",14,NA,"other","no"
+"2919",409,12,7,"other","no","yes",25,"no","no","none","no","yes",10,"no","yes",7,9,"8",29,114,"both","no"
+"2920",250,14,4,"other","yes","yes",24,"no","no","none","no","no",8,"yes","yes",14,14,"1",26,NA,"both","yes"
+"2921",337,16,2,"other","yes","yes",24,"no","no","none","no","yes",9,"yes","yes",9.9399995803833,10.25,"9",24,107,"both","yes"
+"2922",280,16,2,"other","yes","yes",24,"no","no","none","no","no",8,"yes","yes",12,12,"3",34,NA,"both","yes"
+"2923",523,13,5,"other","yes","yes",24,"no","no","none","no","no",9,"yes","yes",12,10,"5",35,120,"both","yes"
+"2924",513,16,4,"other","yes","yes",26,"no","no","none","no","yes",9,"yes","yes",12,12,"3",34,97,"both","yes"
+"2925",691,14,11,"other","yes","yes",31,"no","no","none","no","yes",12,"yes","yes",8,14,"6",46,130,"both","yes"
+"2926",425,16,5,"other","no","no",27,"no","no","none","no","no",12,"yes","yes",12,12,"3",38,107,"other","yes"
+"2927",361,13,5,"other","yes","yes",24,"no","no","none","yes","no",8,"yes","yes",16,12,"2",40,NA,"step","yes"
+"2928",542,12,6,"other","no","no",24,"no","no","none","no","yes",9,"yes","yes",5,12,"6",31,100,"both","no"
+"2929",769,12,14,"other","yes","yes",32,"no","no","none","no","yes",12,"yes","yes",6,12,"6",33,NA,"both","no"
+"2930",505,12,7,"other","yes","yes",25,"no","no","none","no","yes",9,"yes","yes",9.9399995803833,11,"9",37,103,"singlemom","yes"
+"2931",591,17,2,"other","yes","yes",25,"no","no","none","yes","no",10,"yes","yes",12,10,"5",46,108,"both","yes"
+"2932",419,16,3,"other","yes","yes",25,"no","no","none","no","no",9,"yes","yes",14,13,"1",29,111,"both","yes"
+"2933",375,16,4,"other","yes","yes",26,"no","no","none","no","no",10,"yes","yes",12,12,"3",36,114,"both","yes"
+"2934",369,17,3,"other","yes","yes",26,"no","no","none","yes","no",11,"yes","yes",12,2,"5",37,112,"both","yes"
+"2935",438,11,9,"other","yes","yes",26,"no","no","none","no","yes",10,"yes","yes",8,8,"8",31,95,"both","no"
+"2936",619,17,6,"other","yes","no",29,"no","no","none","yes","no",15,"yes","yes",8,13,"6",39,138,"both","yes"
+"2937",635,16,11,"other","yes","yes",33,"no","no","none","no","no",16,"yes","yes",13,12,"2",47,96,"both","yes"
+"2938",500,12,8,"other","yes","yes",26,"no","no","none","no","yes",10,"yes","yes",10,11,"7",31,105,"both","yes"
+"2939",875,12,14,"other","yes","yes",32,"no","no","none","no","yes",12,"yes","yes",10,11,"7",39,98,"both","yes"
+"2940",635,17,11,"other","yes","yes",34,"no","no","none","no","yes",16,"yes","yes",10,14,"6",43,NA,"both","yes"
+"2941",313,14,4,"other","no","no",24,"no","no","none","yes","yes",9,"yes","yes",18,12,"2",36,NA,"both","yes"
+"2942",350,15,3,"other","no","yes",24,"no","no","none","no","no",8,"no","yes",16,12,"2",45,NA,"both","no"
+"2943",857,9,9,"other","no","yes",24,"no","no","none","no","no",7,"no","yes",7,11,"8",22,NA,"both","no"
+"2944",200,11,14,"afam","no","yes",31,"no","no","none","no","no",11,"yes","yes",9.9399995803833,8,"9",30,62,"singlemom","yes"
+"2945",383,12,6,"afam","yes","no",24,"no","no","none","no","yes",8,"no","yes",9.9399995803833,10.25,"9",30,NA,"other","no"
+"2946",245,12,12,"afam","no","yes",30,"no","no","none","no","no",12,"no","yes",9.9399995803833,8,"9",38,67,"both","no"
+"2947",808,12,14,"afam","no","yes",32,"no","no","none","no","yes",12,"no","yes",7,10.25,"9",28,83,"both","no"
+"2948",462,18,9,"afam","no","yes",33,"no","no","none","no","yes",15,"yes","no",6,10,"8",27,NA,"both","yes"
+"2949",577,16,7,"afam","no","yes",29,"no","no","none","no","yes",13,"no","yes",3,7,"8",28,NA,"both","yes"
+"2950",506,17,8,"afam","yes","no",31,"no","no","none","no","yes",16,"no","yes",9.9399995803833,10.25,"9",44,NA,"other","no"
+"2951",962,17,5,"other","no","yes",28,"no","no","none","no","no",12,"no","yes",13,12,"2",28,97,"both","yes"
+"2952",743,16,4,"other","yes","yes",26,"no","no","none","no","yes",11,"no","yes",13,12,"2",29,112,"both","yes"
+"2953",450,12,6,"other","yes","yes",24,"no","no","none","no","no",9,"no","yes",9.9399995803833,9,"9",31,102,"singlemom","yes"
+"2954",476,11,10,"afam","no","yes",27,"no","no","none","no","yes",11,"no","yes",7,8,"8",22,NA,"both","no"
+"2955",123,9,10,"afam","no","yes",25,"no","no","none","no","no",8,"no","yes",7,8,"8",18,NA,"both","no"
+"2956",794,11,15,"afam","yes","yes",32,"no","no","none","no","yes",11,"no","yes",3,0,"8",30,70,"both","no"
+"2957",200,10,9,"afam","no","yes",25,"no","no","none","no","yes",8,"no","yes",12,5,"5",22,NA,"both","no"
+"2958",462,14,12,"other","no","yes",32,"no","no","none","no","yes",14,"no","yes",8,8,"8",40,92,"both","yes"
+"2959",225,10,13,"other","no","yes",29,"no","no","none","no","yes",10,"no","yes",16,5,"5",34,90,"both","yes"
+"2960",577,13,9,"other","yes","yes",28,"no","no","none","no","yes",13,"no","yes",9.9399995803833,10,"9",25,83,"both","yes"
+"2961",180,8,18,"afam","no","yes",32,"no","no","none","no","yes",8,"no","yes",9.9399995803833,10.25,"9",24,NA,"singlemom","no"
+"2962",325,9,16,"afam","no","no",31,"no","no","none","no","no",6,"no","yes",9.9399995803833,1,"9",20,NA,"singlemom","no"
+"2963",409,7,15,"afam","no","yes",28,"no","no","none","no","no",6,"no","yes",9.9399995803833,1,"9",20,NA,"singlemom","no"
+"2964",200,10,9,"afam","no","yes",25,"no","no","none","no","yes",10,"no","yes",2,8,"8",17,75,"both","no"
+"2965",539,16,7,"other","no","yes",29,"no","no","none","no","yes",13,"yes","yes",11,16,"6",36,95,"both","yes"
+"2966",354,16,6,"other","no","yes",28,"no","no","none","no","yes",12,"no","yes",12,12,"3",46,104,"both","no"
+"2967",250,11,11,"other","no","yes",28,"no","no","none","no","no",11,"no","yes",12,15,"2",24,85,"both","yes"
+"2968",693,16,6,"other","no","yes",28,"no","no","none","no","yes",12,"no","yes",9,12,"6",41,114,"both","yes"
+"2969",420,12,10,"other","no","yes",28,"no","no","none","no","yes",11,"no","yes",8,12,"6",27,82,"other","yes"
+"2970",366,12,15,"other","yes","yes",33,"no","no","none","no","yes",12,"no","yes",16,16,"1",32,65,"both","no"
+"2971",351,11,7,"other","no","yes",24,"no","no","none","no","yes",6,"no","yes",4,7,"8",26,NA,"both","no"
+"2972",913,16,9,"other","yes","yes",31,"no","no","none","no","yes",15,"no","yes",8,8,"8",45,113,"both","yes"
+"2973",900,13,9,"other","no","yes",28,"no","no","none","no","yes",12,"no","yes",9,16,"6",40,NA,"both","no"
+"2974",300,7,13,"other","no","yes",26,"no","no","none","no","yes",7,"no","yes",2,7,"8",21,NA,"both","no"
+"2975",307,10,11,"other","no","yes",27,"no","no","none","no","yes",10,"no","yes",9.9399995803833,10.25,"9",38,NA,"other","no"
+"2976",475,7,14,"other","yes","yes",27,"no","no","none","no","yes",7,"no","yes",9.9399995803833,8,"9",28,NA,"step","no"
+"2977",340,11,11,"afam","no","yes",28,"no","no","none","no","no",10,"no","yes",9.9399995803833,9,"9",23,100,"singlemom","no"
+"2978",463,9,14,"afam","yes","yes",29,"no","no","none","no","yes",9,"yes","yes",5,5,"8",30,68,"both","no"
+"2979",200,12,12,"afam","no","yes",30,"no","no","none","no","yes",12,"no","yes",9.9399995803833,2,"9",20,76,"both","no"
+"2980",315,15,3,"afam","no","yes",24,"no","no","none","no","no",9,"no","yes",8,8,"8",23,101,"both","yes"
+"2981",625,16,8,"afam","no","yes",30,"no","no","none","no","yes",14,"no","yes",5,8,"8",35,78,"step","yes"
+"2982",254,12,12,"afam","no","yes",30,"no","no","none","no","no",12,"no","yes",9.9399995803833,10.25,"9",27,72,"other","yes"
+"2983",450,9,12,"other","no","yes",27,"no","no","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",32,75,"other","yes"
+"2984",375,12,6,"afam","no","yes",24,"no","no","none","no","yes",9,"no","yes",9.9399995803833,10.25,"9",27,NA,"other","yes"
+"2985",300,12,8,"afam","yes","no",26,"no","no","none","no","yes",10,"no","yes",0,7,"8",30,NA,"both","yes"
+"2986",364,12,8,"afam","no","yes",26,"no","no","none","no","no",11,"no","yes",8,10,"8",30,NA,"both","yes"
+"2987",750,18,3,"afam","yes","no",27,"no","no","none","no","yes",12,"no","yes",9.9399995803833,10.25,"9",39,NA,"other","yes"
+"2988",589,15,7,"afam","yes","yes",28,"no","no","none","no","yes",12,"no","yes",3,8,"8",36,NA,"both","yes"
+"2989",265,10,15,"afam","yes","yes",31,"no","no","none","no","yes",8,"no","yes",0,2,"8",26,NA,"both","yes"
+"2990",300,9,10,"afam","yes","yes",25,"no","no","none","no","no",6,"no","yes",0,2,"8",10,NA,"both","yes"
+"2991",390,6,21,"afam","no","yes",33,"no","no","none","no","yes",6,"no","yes",9.9399995803833,10.25,"9",21,NA,"both","no"
+"2992",500,10,15,"other","no","yes",31,"no","no","none","no","yes",10,"no","yes",9.9399995803833,12,"4",31,NA,"both","yes"
+"2993",450,12,11,"other","no","yes",29,"no","no","none","no","yes",12,"no","yes",9.9399995803833,12,"4",38,101,"both","yes"
+"2994",263,12,9,"other","no","yes",27,"no","no","none","no","yes",12,"no","yes",7,7,"8",33,100,"both","yes"
+"2995",432,14,7,"other","no","yes",27,"no","no","none","no","yes",11,"no","yes",5,12,"6",38,105,"both","yes"
+"2996",192,10,14,"afam","no","yes",30,"no","no","none","no","yes",10,"no","yes",9.9399995803833,4,"9",29,NA,"both","no"
+"2997",829,14,14,"other","no","yes",34,"no","no","none","no","yes",14,"no","yes",8,8,"8",35,NA,"both","yes"
+"2998",513,16,8,"afam","yes","yes",30,"yes","no","public","no","yes",15,"no","yes",16,16,"1",30,82,"both","no"
+"2999",529,13,11,"afam","yes","no",30,"yes","no","public","no","yes",12,"no","yes",4,9,"8",25,NA,"both","no"
+"3000",385,16,4,"afam","no","yes",26,"yes","no","public","no","yes",10,"no","yes",9.9399995803833,11,"9",28,79,"singlemom","no"
+"3001",500,13,8,"other","no","yes",27,"yes","no","public","no","yes",10,"no","yes",6,8,"8",32,102,"both","no"
+"3002",712,15,8,"other","yes","yes",29,"yes","no","public","no","yes",14,"no","yes",16,18,"1",43,NA,"both","yes"
+"3003",472,16,5,"other","yes","yes",27,"yes","no","public","no","yes",11,"no","yes",16,18,"1",36,NA,"both","yes"
+"3004",470,12,6,"afam","no","yes",24,"yes","no","public","no","yes",9,"no","yes",9.9399995803833,7,"9",22,77,"singlemom","no"
+"3005",413,13,6,"afam","yes","no",25,"yes","no","public","no","yes",8,"no","yes",9.9399995803833,10.25,"9",28,NA,"both","no"
+"3006",335,12,7,"other","no","yes",25,"yes","no","public","no","yes",8,"no","yes",8,12,"6",15,NA,"both","no"
+"3007",481,13,15,"other","yes","yes",34,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,10.25,"9",43,NA,"both","yes"
+"3008",500,12,6,"other","no","yes",24,"yes","no","public","no","yes",9,"no","yes",11,10.25,"9",25,109,"other","no"
+"3009",713,12,13,"other","no","yes",31,"yes","no","public","no","yes",12,"no","yes",9.9399995803833,10.25,"9",32,107,"both","yes"
+"3010",525,13,7,"afam","no","yes",26,"yes","no","public","yes","yes",10,"no","yes",9.9399995803833,10.25,"9",27,NA,"other","no"
diff --git a/causalpy/data/simulate_data.py b/causalpy/data/simulate_data.py
index 38bb8376..de253420 100644
--- a/causalpy/data/simulate_data.py
+++ b/causalpy/data/simulate_data.py
@@ -1,16 +1,48 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Functions that generate data sets used in examples
+"""
+
import numpy as np
import pandas as pd
from scipy.stats import dirichlet, gamma, norm, uniform
from statsmodels.nonparametric.smoothers_lowess import lowess
-default_lowess_kwargs = {"frac": 0.2, "it": 0}
-RANDOM_SEED = 8927
-rng = np.random.default_rng(RANDOM_SEED)
+default_lowess_kwargs: dict[str, float | int] = {"frac": 0.2, "it": 0}
+RANDOM_SEED: int = 8927
+rng: np.random.Generator = np.random.default_rng(RANDOM_SEED)
def _smoothed_gaussian_random_walk(
- gaussian_random_walk_mu, gaussian_random_walk_sigma, N, lowess_kwargs
-):
+ gaussian_random_walk_mu: float,
+ gaussian_random_walk_sigma: float,
+ N: int,
+ lowess_kwargs: dict,
+) -> tuple[np.ndarray, np.ndarray]:
+ """
+ Generates Gaussian random walk data and applies LOWESS.
+
+ :param gaussian_random_walk_mu:
+ Mean of the random walk
+ :param gaussian_random_walk_sigma:
+ Standard deviation of the random walk
+ :param N:
+ Length of the random walk
+ :param lowess_kwargs:
+ Keyword argument dictionary passed to statsmodels lowess
+ """
x = np.arange(N)
y = norm(gaussian_random_walk_mu, gaussian_random_walk_sigma).rvs(N).cumsum()
filtered = lowess(y, x, **lowess_kwargs)
@@ -19,21 +51,31 @@ def _smoothed_gaussian_random_walk(
def generate_synthetic_control_data(
- N=100,
- treatment_time=70,
- grw_mu=0.25,
- grw_sigma=1,
- lowess_kwargs=default_lowess_kwargs,
-):
+ N: int = 100,
+ treatment_time: int = 70,
+ grw_mu: float = 0.25,
+ grw_sigma: float = 1,
+ lowess_kwargs: dict = default_lowess_kwargs,
+) -> tuple[pd.DataFrame, np.ndarray]:
"""
- Example:
- >> import pathlib
- >> df, weightings_true = generate_synthetic_control_data(
- treatment_time=treatment_time
- )
- >> df.to_csv(pathlib.Path.cwd() / 'synthetic_control.csv', index=False)
+ Generates data for synthetic control example.
+
+ :param N:
+ Number of data points
+ :param treatment_time:
+ Index where treatment begins in the generated dataframe
+ :param grw_mu:
+ Mean of Gaussian Random Walk
+ :param grw_sigma:
+ Standard deviation of Gaussian Random Walk
+ :lowess_kwargs:
+ Keyword argument dictionary passed to statsmodels lowess
+
+ Example
+ --------
+ >>> from causalpy.data.simulate_data import generate_synthetic_control_data
+ >>> df, weightings_true = generate_synthetic_control_data(treatment_time=70)
"""
-
# 1. Generate non-treated variables
df = pd.DataFrame(
{
@@ -68,14 +110,33 @@ def generate_synthetic_control_data(
def generate_time_series_data(
- N=100, treatment_time=70, beta_temp=-1, beta_linear=0.5, beta_intercept=3
-):
- x = np.arange(0, 100, 1)
+ N: int = 100,
+ treatment_time: int = 70,
+ beta_temp: float = -1,
+ beta_linear: float = 0.5,
+ beta_intercept: float = 3,
+) -> pd.DataFrame:
+ """
+ Generates interrupted time series example data
+
+ :param N:
+ Length of the time series
+ :param treatment_time:
+ Index of when treatment begins
+ :param beta_temp:
+ The temperature coefficient
+ :param beta_linear:
+ The linear coefficient
+ :param beta_intercept:
+ The intercept
+
+ """
+ x = np.arange(0, N, 1)
df = pd.DataFrame(
{
"temperature": np.sin(x * 0.5) + 1,
- "linear": np.linspace(0, 1, 100),
- "causal effect": 10 * gamma(10).pdf(np.arange(0, 100, 1) - treatment_time),
+ "linear": np.linspace(0, 1, N),
+ "causal effect": 10 * gamma(10).pdf(np.arange(0, N, 1) - treatment_time),
}
)
@@ -92,13 +153,20 @@ def generate_time_series_data(
for var in ["deaths_actual", "temperature"]:
df[var] += norm(0, 0.1).rvs(N)
- # add intercept
+ # add intercept column of ones (for modeling purposes)
+ # This is correctly a column of ones, not beta_intercept, as beta_intercept
+ # is already incorporated in the data generation above
df["intercept"] = np.ones(df.shape[0])
return df
-def generate_time_series_data_seasonal(treatment_time):
+def generate_time_series_data_seasonal(
+ treatment_time: pd.Timestamp,
+) -> pd.DataFrame:
+ """
+ Generates 10 years of monthly data with seasonality
+ """
dates = pd.date_range(
start=pd.to_datetime("2010-01-01"), end=pd.to_datetime("2020-01-01"), freq="M"
)
@@ -109,11 +177,13 @@ def generate_time_series_data_seasonal(treatment_time):
t=df.index,
).set_index("date", drop=True)
month_effect = np.array([11, 13, 12, 15, 19, 23, 21, 28, 20, 17, 15, 12])
- df["y"] = 0.2 * df["t"] + 2 * month_effect[df.month.values - 1]
+ df["y"] = 0.2 * df["t"] + 2 * month_effect[np.asarray(df.month.values) - 1]
N = df.shape[0]
idx = np.arange(N)[df.index > treatment_time]
- df["causal effect"] = 100 * gamma(10).pdf(np.arange(0, N, 1) - np.min(idx))
+ df["causal effect"] = 100 * gamma(10).pdf(
+ np.array(np.arange(0, N, 1)) - int(np.min(idx))
+ )
df["y"] += df["causal effect"]
df["y"] += norm(0, 2).rvs(N)
@@ -123,7 +193,9 @@ def generate_time_series_data_seasonal(treatment_time):
return df
-def generate_time_series_data_simple(treatment_time, slope=0.0):
+def generate_time_series_data_simple(
+ treatment_time: pd.Timestamp, slope: float = 0.0
+) -> pd.DataFrame:
"""Generate simple interrupted time series data, with no seasonality or temporal
structure.
"""
@@ -145,7 +217,15 @@ def generate_time_series_data_simple(treatment_time, slope=0.0):
return df
-def generate_did():
+def generate_did() -> pd.DataFrame:
+ """
+ Generate Difference in Differences data
+
+ Example
+ --------
+ >>> from causalpy.data.simulate_data import generate_did
+ >>> df = generate_did()
+ """
# true parameters
control_intercept = 1
treat_intercept_delta = 0.25
@@ -155,8 +235,15 @@ def generate_did():
# local functions
def outcome(
- t, control_intercept, treat_intercept_delta, trend, Δ, group, post_treatment
- ):
+ t: np.ndarray,
+ control_intercept: float,
+ treat_intercept_delta: float,
+ trend: float,
+ Δ: float,
+ group: np.ndarray,
+ post_treatment: np.ndarray,
+ ) -> np.ndarray:
+ """Compute the outcome of each unit"""
return (
control_intercept
+ (treat_intercept_delta * group)
@@ -175,32 +262,40 @@ def outcome(
df["post_treatment"] = df["t"] > intervention_time
df["y"] = outcome(
- df["t"],
+ np.asarray(df["t"]),
control_intercept,
treat_intercept_delta,
trend,
Δ,
- df["group"],
- df["post_treatment"],
+ np.asarray(df["group"]),
+ np.asarray(df["post_treatment"]),
)
df["y"] += rng.normal(0, 0.1, df.shape[0])
return df
def generate_regression_discontinuity_data(
- N=100, true_causal_impact=0.5, true_treatment_threshold=0.0
-):
+ N: int = 100, true_causal_impact: float = 0.5, true_treatment_threshold: float = 0.0
+) -> pd.DataFrame:
"""
- Example use:
- >> import pathlib
- >> df = generate_regression_discontinuity_data(true_treatment_threshold=0.5)
- >> df.to_csv(pathlib.Path.cwd() / 'regression_discontinuity.csv', index=False)
+ Generate regression discontinuity example data
+
+ Example
+ --------
+ >>> import pathlib
+ >>> from causalpy.data.simulate_data import generate_regression_discontinuity_data
+ >>> df = generate_regression_discontinuity_data(true_treatment_threshold=0.5)
+ >>> df.to_csv(
+ ... pathlib.Path.cwd() / "regression_discontinuity.csv", index=False
+ ... ) # doctest: +SKIP
"""
- def is_treated(x):
+ def is_treated(x: np.ndarray) -> np.ndarray:
+ """Check if x was treated"""
return np.greater_equal(x, true_treatment_threshold)
- def impact(x):
+ def impact(x: np.ndarray) -> np.ndarray:
+ """Assign true_causal_impact to all treated entries"""
y = np.zeros(len(x))
y[is_treated(x)] = true_causal_impact
return y
@@ -212,8 +307,23 @@ def impact(x):
def generate_ancova_data(
- N=200, pre_treatment_means=np.array([10, 12]), treatment_effect=2, sigma=1
-):
+ N: int = 200,
+ pre_treatment_means: np.ndarray = np.array([10, 12]),
+ treatment_effect: int = 2,
+ sigma: int = 1,
+) -> pd.DataFrame:
+ """
+ Generate ANCOVA example data
+
+ Example
+ --------
+ >>> import pathlib
+ >>> from causalpy.data.simulate_data import generate_ancova_data
+ >>> df = generate_ancova_data(
+ ... N=200, pre_treatment_means=np.array([10, 12]), treatment_effect=2, sigma=1
+ ... )
+ >>> df.to_csv(pathlib.Path.cwd() / "ancova_data.csv", index=False) # doctest: +SKIP
+ """
group = np.random.choice(2, size=N)
pre = np.random.normal(loc=pre_treatment_means[group])
post = pre + treatment_effect * group + np.random.normal(size=N) * sigma
@@ -221,7 +331,7 @@ def generate_ancova_data(
return df
-def generate_geolift_data():
+def generate_geolift_data() -> pd.DataFrame:
"""Generate synthetic data for a geolift example. This will consists of 6 untreated
countries. The treated unit `Denmark` is a weighted combination of the untreated
units. We additionally specify a treatment effect which takes effect after the
@@ -232,11 +342,6 @@ def generate_geolift_data():
treatment_time = pd.to_datetime("2022-01-01")
causal_impact = 0.2
- def create_series(n=52, amplitude=1, length_scale=2):
- return np.tile(
- generate_seasonality(n=n, amplitude=amplitude, length_scale=2) + 3, n_years
- )
-
time = pd.date_range(start="2019-01-01", periods=52 * n_years, freq="W")
untreated = [
@@ -249,7 +354,12 @@ def create_series(n=52, amplitude=1, length_scale=2):
]
df = (
- pd.DataFrame({country: create_series() for country in untreated})
+ pd.DataFrame(
+ {
+ country: create_series(n_years=n_years, intercept=3)
+ for country in untreated
+ }
+ )
.assign(time=time)
.set_index("time")
)
@@ -264,6 +374,67 @@ def create_series(n=52, amplitude=1, length_scale=2):
# add treatment effect
df["Denmark"] += np.where(df.index < treatment_time, 0, causal_impact)
+
+ # ensure we never see any negative sales
+ df = df.clip(lower=0)
+
+ return df
+
+
+def generate_multicell_geolift_data() -> pd.DataFrame:
+ """Generate synthetic data for a geolift example. This will consists of 6 untreated
+ countries. The treated unit `Denmark` is a weighted combination of the untreated
+ units. We additionally specify a treatment effect which takes effect after the
+ `treatment_time`. The timeseries data is observed at weekly resolution and has
+ annual seasonality, with this seasonality being a drawn from a Gaussian Process with
+ a periodic kernel."""
+ n_years = 4
+ treatment_time = pd.to_datetime("2022-01-01")
+ causal_impact = 0.2
+ time = pd.date_range(start="2019-01-01", periods=52 * n_years, freq="W")
+
+ untreated = [
+ "u1",
+ "u2",
+ "u3",
+ "u4",
+ "u5",
+ "u6",
+ "u7",
+ "u8",
+ "u9",
+ "u10",
+ "u11",
+ "u12",
+ ]
+
+ df = (
+ pd.DataFrame(
+ {
+ country: create_series(n_years=n_years, intercept=3)
+ for country in untreated
+ }
+ )
+ .assign(time=time)
+ .set_index("time")
+ )
+
+ treated = ["t1", "t2", "t3", "t4"]
+
+ for treated_geo in treated:
+ # create treated unit as a weighted sum of the untreated units
+ weights = np.random.dirichlet(np.ones(len(untreated)), size=1)[0]
+ df[treated_geo] = np.dot(df[untreated].values, weights)
+ # add treatment effect
+ df[treated_geo] += np.where(df.index < treatment_time, 0, causal_impact)
+
+ # add observation noise to all geos
+ for col in untreated + treated:
+ df[col] += np.random.normal(size=len(df), scale=0.1)
+
+ # ensure we never see any negative sales
+ df = df.clip(lower=0)
+
return df
@@ -272,7 +443,9 @@ def create_series(n=52, amplitude=1, length_scale=2):
# -----------------
-def generate_seasonality(n=12, amplitude=1, length_scale=0.5):
+def generate_seasonality(
+ n: int = 12, amplitude: int = 1, length_scale: float = 0.5
+) -> np.ndarray:
"""Generate monthly seasonality by sampling from a Gaussian process with a
Gaussian kernel, using numpy code"""
# Generate the covariance matrix
@@ -286,8 +459,31 @@ def generate_seasonality(n=12, amplitude=1, length_scale=0.5):
return seasonality
-def periodic_kernel(x1, x2, period=1, length_scale=1, amplitude=1):
- """Generate a periodic kernal for gaussian process"""
+def periodic_kernel(
+ x1: np.ndarray,
+ x2: np.ndarray,
+ period: int = 1,
+ length_scale: float = 1.0,
+ amplitude: int = 1,
+) -> np.ndarray:
+ """Generate a periodic kernel for gaussian process"""
return amplitude**2 * np.exp(
-2 * np.sin(np.pi * np.abs(x1 - x2) / period) ** 2 / length_scale**2
)
+
+
+def create_series(
+ n: int = 52,
+ amplitude: int = 1,
+ length_scale: int = 2,
+ n_years: int = 4,
+ intercept: int = 3,
+) -> np.ndarray:
+ """
+ Returns numpy tile with generated seasonality data repeated over
+ multiple years
+ """
+ return np.tile(
+ generate_seasonality(n=n, amplitude=amplitude, length_scale=2) + intercept,
+ n_years,
+ )
diff --git a/causalpy/experiments/__init__.py b/causalpy/experiments/__init__.py
new file mode 100644
index 00000000..2ba9c0cd
--- /dev/null
+++ b/causalpy/experiments/__init__.py
@@ -0,0 +1,34 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""CausalPy experiment module"""
+
+from .diff_in_diff import DifferenceInDifferences
+from .instrumental_variable import InstrumentalVariable
+from .interrupted_time_series import InterruptedTimeSeries
+from .inverse_propensity_weighting import InversePropensityWeighting
+from .prepostnegd import PrePostNEGD
+from .regression_discontinuity import RegressionDiscontinuity
+from .regression_kink import RegressionKink
+from .synthetic_control import SyntheticControl
+
+__all__ = [
+ "DifferenceInDifferences",
+ "InstrumentalVariable",
+ "InversePropensityWeighting",
+ "PrePostNEGD",
+ "RegressionDiscontinuity",
+ "RegressionKink",
+ "SyntheticControl",
+ "InterruptedTimeSeries",
+]
diff --git a/causalpy/experiments/base.py b/causalpy/experiments/base.py
new file mode 100644
index 00000000..7ed08679
--- /dev/null
+++ b/causalpy/experiments/base.py
@@ -0,0 +1,298 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Base class for quasi experimental designs.
+"""
+
+from abc import abstractmethod
+from typing import Any, Literal, Union
+
+import arviz as az
+import matplotlib.pyplot as plt
+import numpy as np
+import pandas as pd
+from sklearn.base import RegressorMixin
+
+from causalpy.pymc_models import PyMCModel
+from causalpy.reporting import (
+ EffectSummary,
+ _compute_statistics,
+ _compute_statistics_did_ols,
+ _compute_statistics_ols,
+ _detect_experiment_type,
+ _effect_summary_did,
+ _effect_summary_rd,
+ _effect_summary_rkink,
+ _extract_counterfactual,
+ _extract_window,
+ _generate_prose,
+ _generate_prose_did_ols,
+ _generate_prose_ols,
+ _generate_table,
+ _generate_table_did_ols,
+ _generate_table_ols,
+)
+from causalpy.skl_models import create_causalpy_compatible_class
+
+
+class BaseExperiment:
+ """Base class for quasi experimental designs."""
+
+ labels: list[str]
+
+ supports_bayes: bool
+ supports_ols: bool
+
+ def __init__(self, model: Union[PyMCModel, RegressorMixin] | None = None) -> None:
+ # Ensure we've made any provided Scikit Learn model (as identified as being type
+ # RegressorMixin) compatible with CausalPy by appending our custom methods.
+ if isinstance(model, RegressorMixin):
+ model = create_causalpy_compatible_class(model)
+
+ if model is not None:
+ self.model = model
+
+ if isinstance(self.model, PyMCModel) and not self.supports_bayes:
+ raise ValueError("Bayesian models not supported.")
+
+ if isinstance(self.model, RegressorMixin) and not self.supports_ols:
+ raise ValueError("OLS models not supported.")
+
+ if self.model is None:
+ raise ValueError("model not set or passed.")
+
+ def fit(self, *args: Any, **kwargs: Any) -> None:
+ raise NotImplementedError("fit method not implemented")
+
+ @property
+ def idata(self) -> az.InferenceData:
+ """Return the InferenceData object of the model. Only relevant for PyMC models."""
+ return self.model.idata
+
+ def print_coefficients(self, round_to: int | None = None) -> None:
+ """Ask the model to print its coefficients.
+
+ Parameters
+ ----------
+ round_to : int, optional
+ Number of significant figures to round to. Defaults to None,
+ in which case 2 significant figures are used.
+ """
+ self.model.print_coefficients(self.labels, round_to)
+
+ def plot(self, *args: Any, **kwargs: Any) -> tuple:
+ """Plot the model.
+
+ Internally, this function dispatches to either `_bayesian_plot` or `_ols_plot`
+ depending on the model type.
+ """
+ # Apply arviz-darkgrid style only during plotting, then revert
+ with plt.style.context(az.style.library["arviz-darkgrid"]):
+ if isinstance(self.model, PyMCModel):
+ return self._bayesian_plot(*args, **kwargs)
+ elif isinstance(self.model, RegressorMixin):
+ return self._ols_plot(*args, **kwargs)
+ else:
+ raise ValueError("Unsupported model type")
+
+ @abstractmethod
+ def _bayesian_plot(self, *args: Any, **kwargs: Any) -> tuple:
+ """Abstract method for plotting the model."""
+ raise NotImplementedError("_bayesian_plot method not yet implemented")
+
+ @abstractmethod
+ def _ols_plot(self, *args: Any, **kwargs: Any) -> tuple:
+ """Abstract method for plotting the model."""
+ raise NotImplementedError("_ols_plot method not yet implemented")
+
+ def get_plot_data(self, *args: Any, **kwargs: Any) -> pd.DataFrame:
+ """Recover the data of an experiment along with the prediction and causal impact information.
+
+ Internally, this function dispatches to either :func:`get_plot_data_bayesian` or :func:`get_plot_data_ols`
+ depending on the model type.
+ """
+ if isinstance(self.model, PyMCModel):
+ return self.get_plot_data_bayesian(*args, **kwargs)
+ elif isinstance(self.model, RegressorMixin):
+ return self.get_plot_data_ols(*args, **kwargs)
+ else:
+ raise ValueError("Unsupported model type")
+
+ @abstractmethod
+ def get_plot_data_bayesian(self, *args: Any, **kwargs: Any) -> pd.DataFrame:
+ """Abstract method for recovering plot data."""
+ raise NotImplementedError("get_plot_data_bayesian method not yet implemented")
+
+ @abstractmethod
+ def get_plot_data_ols(self, *args: Any, **kwargs: Any) -> pd.DataFrame:
+ """Abstract method for recovering plot data."""
+ raise NotImplementedError("get_plot_data_ols method not yet implemented")
+
+ def effect_summary(
+ self,
+ window: Union[Literal["post"], tuple, slice] = "post",
+ direction: Literal["increase", "decrease", "two-sided"] = "increase",
+ alpha: float = 0.05,
+ cumulative: bool = True,
+ relative: bool = True,
+ min_effect: float | None = None,
+ treated_unit: str | None = None,
+ ) -> EffectSummary:
+ """
+ Generate a decision-ready summary of causal effects.
+
+ Supports Interrupted Time Series (ITS), Synthetic Control, Difference-in-Differences (DiD),
+ and Regression Discontinuity (RD) experiments. Works with both PyMC (Bayesian) and OLS models.
+ Automatically detects experiment type and model type, generating appropriate summary.
+
+ Parameters
+ ----------
+ window : str, tuple, or slice, default="post"
+ Time window for analysis (ITS/SC only, ignored for DiD/RD):
+ - "post": All post-treatment time points (default)
+ - (start, end): Tuple of start and end times (handles both datetime and integer indices)
+ - slice: Python slice object for integer indices
+ direction : {"increase", "decrease", "two-sided"}, default="increase"
+ Direction for tail probability calculation (PyMC only, ignored for OLS):
+ - "increase": P(effect > 0)
+ - "decrease": P(effect < 0)
+ - "two-sided": Two-sided p-value, report 1-p as "probability of effect"
+ alpha : float, default=0.05
+ Significance level for HDI/CI intervals (1-alpha confidence level)
+ cumulative : bool, default=True
+ Whether to include cumulative effect statistics (ITS/SC only, ignored for DiD/RD)
+ relative : bool, default=True
+ Whether to include relative effect statistics (% change vs counterfactual)
+ (ITS/SC only, ignored for DiD/RD)
+ min_effect : float, optional
+ Region of Practical Equivalence (ROPE) threshold (PyMC only, ignored for OLS).
+ If provided, reports P(|effect| > min_effect) for two-sided or P(effect > min_effect) for one-sided.
+ treated_unit : str, optional
+ For multi-unit experiments (Synthetic Control), specify which treated unit
+ to analyze. If None and multiple units exist, uses first unit.
+
+ Returns
+ -------
+ EffectSummary
+ Object with .table (DataFrame) and .text (str) attributes
+ """
+ # Detect experiment type
+ experiment_type = _detect_experiment_type(self)
+
+ # Check if PyMC or OLS model
+ is_pymc = isinstance(self.model, PyMCModel)
+
+ if experiment_type == "rd":
+ # Regression Discontinuity: scalar effect, no time dimension
+ return _effect_summary_rd(
+ self,
+ direction=direction,
+ alpha=alpha,
+ min_effect=min_effect,
+ )
+ elif experiment_type == "rkink":
+ # Regression Kink: scalar effect (gradient change at kink point)
+ return _effect_summary_rkink(
+ self,
+ direction=direction,
+ alpha=alpha,
+ min_effect=min_effect,
+ )
+ elif experiment_type == "did":
+ # Difference-in-Differences: scalar effect, no time dimension
+ if is_pymc:
+ return _effect_summary_did(
+ self,
+ direction=direction,
+ alpha=alpha,
+ min_effect=min_effect,
+ )
+ else:
+ # OLS DiD
+ stats = _compute_statistics_did_ols(self, alpha=alpha)
+ table = _generate_table_did_ols(stats)
+ text = _generate_prose_did_ols(stats, alpha=alpha)
+ return EffectSummary(table=table, text=text)
+ else:
+ # ITS or Synthetic Control: time-series effects
+ # Extract windowed impact data
+ windowed_impact, window_coords = _extract_window(
+ self, window, treated_unit=treated_unit
+ )
+
+ # Extract counterfactual for relative effects
+ counterfactual = _extract_counterfactual(
+ self, window_coords, treated_unit=treated_unit
+ )
+
+ if is_pymc:
+ # PyMC model: use posterior draws
+ hdi_prob = 1 - alpha
+ stats = _compute_statistics(
+ windowed_impact,
+ counterfactual,
+ hdi_prob=hdi_prob,
+ direction=direction,
+ cumulative=cumulative,
+ relative=relative,
+ min_effect=min_effect,
+ )
+
+ # Generate table
+ table = _generate_table(stats, cumulative=cumulative, relative=relative)
+
+ # Generate prose
+ text = _generate_prose(
+ stats,
+ window_coords,
+ alpha=alpha,
+ direction=direction,
+ cumulative=cumulative,
+ relative=relative,
+ )
+ else:
+ # OLS model: use point estimates and CIs
+ # Convert to numpy arrays if needed
+ if hasattr(windowed_impact, "values"):
+ impact_array = windowed_impact.values
+ else:
+ impact_array = np.asarray(windowed_impact)
+ if hasattr(counterfactual, "values"):
+ counterfactual_array = counterfactual.values
+ else:
+ counterfactual_array = np.asarray(counterfactual)
+
+ stats = _compute_statistics_ols(
+ impact_array,
+ counterfactual_array,
+ alpha=alpha,
+ cumulative=cumulative,
+ relative=relative,
+ )
+
+ # Generate table
+ table = _generate_table_ols(
+ stats, cumulative=cumulative, relative=relative
+ )
+
+ # Generate prose
+ text = _generate_prose_ols(
+ stats,
+ window_coords,
+ alpha=alpha,
+ cumulative=cumulative,
+ relative=relative,
+ )
+
+ return EffectSummary(table=table, text=text)
diff --git a/causalpy/experiments/diff_in_diff.py b/causalpy/experiments/diff_in_diff.py
new file mode 100644
index 00000000..02cb8e6c
--- /dev/null
+++ b/causalpy/experiments/diff_in_diff.py
@@ -0,0 +1,551 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Difference in differences
+"""
+
+from typing import Union
+
+import arviz as az
+import numpy as np
+import pandas as pd
+import seaborn as sns
+import xarray as xr
+from matplotlib import pyplot as plt
+from patsy import build_design_matrices, dmatrices
+from sklearn.base import RegressorMixin
+
+from causalpy.custom_exceptions import (
+ DataException,
+ FormulaException,
+)
+from causalpy.plot_utils import plot_xY
+from causalpy.pymc_models import PyMCModel
+from causalpy.utils import (
+ _is_variable_dummy_coded,
+ convert_to_string,
+ get_interaction_terms,
+ round_num,
+)
+
+from .base import BaseExperiment
+
+LEGEND_FONT_SIZE = 12
+
+
+class DifferenceInDifferences(BaseExperiment):
+ """A class to analyse data from Difference in Difference settings.
+
+ .. note::
+
+ There is no pre/post intervention data distinction for DiD, we fit
+ all the data available.
+
+ Parameters
+ ----------
+ data : pd.DataFrame
+ A pandas dataframe.
+ formula : str
+ A statistical model formula.
+ time_variable_name : str
+ Name of the data column for the time variable.
+ group_variable_name : str
+ Name of the data column for the group variable.
+ post_treatment_variable_name : str, optional
+ Name of the data column indicating post-treatment period.
+ Defaults to "post_treatment".
+ model : PyMCModel or RegressorMixin, optional
+ A PyMC model for difference in differences. Defaults to None.
+
+ Example
+ --------
+ >>> import causalpy as cp
+ >>> df = cp.load_data("did")
+ >>> seed = 42
+ >>> result = cp.DifferenceInDifferences(
+ ... df,
+ ... formula="y ~ 1 + group*post_treatment",
+ ... time_variable_name="t",
+ ... group_variable_name="group",
+ ... model=cp.pymc_models.LinearRegression(
+ ... sample_kwargs={
+ ... "target_accept": 0.95,
+ ... "random_seed": seed,
+ ... "progressbar": False,
+ ... }
+ ... ),
+ ... )
+ """
+
+ supports_ols = True
+ supports_bayes = True
+
+ def __init__(
+ self,
+ data: pd.DataFrame,
+ formula: str,
+ time_variable_name: str,
+ group_variable_name: str,
+ post_treatment_variable_name: str = "post_treatment",
+ model: Union[PyMCModel, RegressorMixin] | None = None,
+ **kwargs: dict,
+ ) -> None:
+ super().__init__(model=model)
+ self.causal_impact: xr.DataArray | float | None
+ # rename the index to "obs_ind"
+ data.index.name = "obs_ind"
+ self.data = data
+ self.expt_type = "Difference in Differences"
+ self.formula = formula
+ self.time_variable_name = time_variable_name
+ self.group_variable_name = group_variable_name
+ self.post_treatment_variable_name = post_treatment_variable_name
+ self.input_validation()
+
+ y, X = dmatrices(formula, self.data)
+ self._y_design_info = y.design_info
+ self._x_design_info = X.design_info
+ self.labels = X.design_info.column_names
+ self.y, self.X = np.asarray(y), np.asarray(X)
+ self.outcome_variable_name = y.design_info.column_names[0]
+
+ # turn into xarray.DataArray's
+ self.X = xr.DataArray(
+ self.X,
+ dims=["obs_ind", "coeffs"],
+ coords={
+ "obs_ind": np.arange(self.X.shape[0]),
+ "coeffs": self.labels,
+ },
+ )
+ self.y = xr.DataArray(
+ self.y,
+ dims=["obs_ind", "treated_units"],
+ coords={"obs_ind": np.arange(self.y.shape[0]), "treated_units": ["unit_0"]},
+ )
+
+ # fit model
+ if isinstance(self.model, PyMCModel):
+ COORDS = {
+ "coeffs": self.labels,
+ "obs_ind": np.arange(self.X.shape[0]),
+ "treated_units": ["unit_0"],
+ }
+ self.model.fit(X=self.X, y=self.y, coords=COORDS)
+ elif isinstance(self.model, RegressorMixin):
+ # For scikit-learn models, automatically set fit_intercept=False
+ # This ensures the intercept is included in the coefficients array rather than being a separate intercept_ attribute
+ # without this, the intercept is not included in the coefficients array hence would be displayed as 0 in the model summary
+ # TODO: later, this should be handled in ScikitLearnAdaptor itself
+ if hasattr(self.model, "fit_intercept"):
+ self.model.fit_intercept = False
+ self.model.fit(X=self.X, y=self.y)
+ else:
+ raise ValueError("Model type not recognized")
+
+ # predicted outcome for control group
+ self.x_pred_control = (
+ self.data
+ # just the untreated group
+ .query(f"{self.group_variable_name} == 0")
+ # drop the outcome variable
+ .drop(self.outcome_variable_name, axis=1)
+ # We may have multiple units per time point, we only want one time point
+ .groupby(self.time_variable_name)
+ .first()
+ .reset_index()
+ )
+ if self.x_pred_control.empty:
+ raise ValueError("x_pred_control is empty")
+ (new_x,) = build_design_matrices([self._x_design_info], self.x_pred_control)
+ self.y_pred_control = self.model.predict(np.asarray(new_x))
+
+ # predicted outcome for treatment group
+ self.x_pred_treatment = (
+ self.data
+ # just the treated group
+ .query(f"{self.group_variable_name} == 1")
+ # drop the outcome variable
+ .drop(self.outcome_variable_name, axis=1)
+ # We may have multiple units per time point, we only want one time point
+ .groupby(self.time_variable_name)
+ .first()
+ .reset_index()
+ )
+ if self.x_pred_treatment.empty:
+ raise ValueError("x_pred_treatment is empty")
+ (new_x,) = build_design_matrices([self._x_design_info], self.x_pred_treatment)
+ self.y_pred_treatment = self.model.predict(np.asarray(new_x))
+
+ # predicted outcome for counterfactual. This is given by removing the influence
+ # of the interaction term between the group and the post_treatment variable
+ self.x_pred_counterfactual = (
+ self.data
+ # just the treated group
+ .query(f"{self.group_variable_name} == 1")
+ # just the treatment period(s)
+ .query(f"{self.post_treatment_variable_name} == True")
+ # drop the outcome variable
+ .drop(self.outcome_variable_name, axis=1)
+ # We may have multiple units per time point, we only want one time point
+ .groupby(self.time_variable_name)
+ .first()
+ .reset_index()
+ )
+ if self.x_pred_counterfactual.empty:
+ raise ValueError("x_pred_counterfactual is empty")
+ (new_x,) = build_design_matrices(
+ [self._x_design_info], self.x_pred_counterfactual, return_type="dataframe"
+ )
+ # INTERVENTION: set the interaction term between the group and the
+ # post_treatment variable to zero. This is the counterfactual.
+ for i, label in enumerate(self.labels):
+ if (
+ self.post_treatment_variable_name in label
+ and self.group_variable_name in label
+ ):
+ new_x.iloc[:, i] = 0
+ self.y_pred_counterfactual = self.model.predict(np.asarray(new_x))
+
+ # calculate causal impact
+ if isinstance(self.model, PyMCModel):
+ assert self.model.idata is not None
+ # This is the coefficient on the interaction term
+ coeff_names = self.model.idata.posterior.coords["coeffs"].data
+ for i, label in enumerate(coeff_names):
+ if (
+ self.post_treatment_variable_name in label
+ and self.group_variable_name in label
+ ):
+ self.causal_impact = self.model.idata.posterior["beta"].isel(
+ {"coeffs": i}
+ )
+ elif isinstance(self.model, RegressorMixin):
+ # This is the coefficient on the interaction term
+ # Store the coefficient into dictionary {intercept:value}
+ coef_map = dict(zip(self.labels, self.model.get_coeffs()))
+ # Create and find the interaction term based on the values user provided
+ interaction_term = (
+ f"{self.group_variable_name}:{self.post_treatment_variable_name}"
+ )
+ matched_key = next((k for k in coef_map if interaction_term in k), None)
+ att = coef_map.get(matched_key) if matched_key is not None else None
+ self.causal_impact = att
+ else:
+ raise ValueError("Model type not recognized")
+
+ return
+
+ def input_validation(self) -> None:
+ # Validate formula structure and interaction interaction terms
+ self._validate_formula_interaction_terms()
+
+ """Validate the input data and model formula for correctness"""
+ # Check if post_treatment_variable_name is in formula
+ if self.post_treatment_variable_name not in self.formula:
+ raise FormulaException(
+ f"Missing required variable '{self.post_treatment_variable_name}' in formula"
+ )
+
+ # Check if post_treatment_variable_name is in data columns
+ if self.post_treatment_variable_name not in self.data.columns:
+ raise DataException(
+ f"Missing required column '{self.post_treatment_variable_name}' in dataset"
+ )
+
+ if "unit" not in self.data.columns:
+ raise DataException(
+ "Require a `unit` column to label unique units. This is used for plotting purposes" # noqa: E501
+ )
+
+ if _is_variable_dummy_coded(self.data[self.group_variable_name]) is False:
+ raise DataException(
+ f"""The grouping variable {self.group_variable_name} should be dummy
+ coded. Consisting of 0's and 1's only."""
+ )
+
+ def _validate_formula_interaction_terms(self) -> None:
+ """
+ Validate that the formula contains at most one interaction term and no three-way or higher-order interactions.
+ Raises FormulaException if more than one interaction term is found or if any interaction term has more than 2 variables.
+ """
+ # Define interaction indicators
+ INTERACTION_INDICATORS = ["*", ":"]
+
+ # Get interaction terms
+ interaction_terms = get_interaction_terms(self.formula)
+
+ # Check for interaction terms with more than 2 variables (more than one '*' or ':')
+ for term in interaction_terms:
+ total_indicators = sum(
+ term.count(indicator) for indicator in INTERACTION_INDICATORS
+ )
+ if (
+ total_indicators >= 2
+ ): # 3 or more variables (e.g., a*b*c or a:b:c has 2 symbols)
+ raise FormulaException(
+ f"Formula contains interaction term with more than 2 variables: {term}. "
+ "Three-way or higher-order interactions are not supported as they complicate interpretation of the causal effect."
+ )
+
+ if len(interaction_terms) > 1:
+ raise FormulaException(
+ f"Formula contains {len(interaction_terms)} interaction terms: {interaction_terms}. "
+ "Multiple interaction terms are not currently supported as they complicate interpretation of the causal effect."
+ )
+
+ def summary(self, round_to: int | None = 2) -> None:
+ """Print summary of main results and model coefficients.
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers
+ """
+ print(f"{self.expt_type:=^80}")
+ print(f"Formula: {self.formula}")
+ print("\nResults:")
+ print(self._causal_impact_summary_stat(round_to))
+ self.print_coefficients(round_to)
+
+ def _causal_impact_summary_stat(self, round_to: int | None = None) -> str:
+ """Computes the mean and 94% credible interval bounds for the causal impact."""
+ return f"Causal impact = {convert_to_string(self.causal_impact, round_to=round_to)}"
+
+ def _bayesian_plot(
+ self, round_to: int | None = None, **kwargs: dict
+ ) -> tuple[plt.Figure, plt.Axes]:
+ """
+ Plot the results
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers.
+ """
+
+ def _plot_causal_impact_arrow(results, ax):
+ """
+ draw a vertical arrow between `y_pred_counterfactual` and
+ `y_pred_counterfactual`
+ """
+ # Calculate y values to plot the arrow between
+ y_pred_treatment = (
+ results.y_pred_treatment["posterior_predictive"]
+ .mu.isel({"obs_ind": 1})
+ .mean()
+ .data
+ )
+ y_pred_counterfactual = (
+ results.y_pred_counterfactual["posterior_predictive"].mu.mean().data
+ )
+ # Calculate the x position to plot at
+ # Note that we force to be float to avoid a type error using np.ptp with boolean
+ # values
+ diff = np.ptp(
+ np.array(
+ results.x_pred_treatment[results.time_variable_name].values
+ ).astype(float)
+ )
+ x = (
+ np.max(results.x_pred_treatment[results.time_variable_name].values)
+ + 0.1 * diff
+ )
+ # Plot the arrow
+ ax.annotate(
+ "",
+ xy=(x, y_pred_counterfactual),
+ xycoords="data",
+ xytext=(x, y_pred_treatment),
+ textcoords="data",
+ arrowprops={"arrowstyle": "<-", "color": "green", "lw": 3},
+ )
+ # Plot text annotation next to arrow
+ ax.annotate(
+ "causal\nimpact",
+ xy=(x, np.mean([y_pred_counterfactual, y_pred_treatment])),
+ xycoords="data",
+ xytext=(5, 0),
+ textcoords="offset points",
+ color="green",
+ va="center",
+ )
+
+ fig, ax = plt.subplots()
+
+ # Plot raw data
+ sns.scatterplot(
+ self.data,
+ x=self.time_variable_name,
+ y=self.outcome_variable_name,
+ hue=self.group_variable_name,
+ alpha=1,
+ legend=False,
+ markers=True,
+ ax=ax,
+ )
+
+ # Plot model fit to control group
+ time_points = self.x_pred_control[self.time_variable_name].values
+ h_line, h_patch = plot_xY(
+ time_points,
+ self.y_pred_control["posterior_predictive"].mu.isel(treated_units=0),
+ ax=ax,
+ plot_hdi_kwargs={"color": "C0"},
+ label="Control group",
+ )
+ handles = [(h_line, h_patch)]
+ labels = ["Control group"]
+
+ # Plot model fit to treatment group
+ time_points = self.x_pred_control[self.time_variable_name].values
+ h_line, h_patch = plot_xY(
+ time_points,
+ self.y_pred_treatment["posterior_predictive"].mu.isel(treated_units=0),
+ ax=ax,
+ plot_hdi_kwargs={"color": "C1"},
+ label="Treatment group",
+ )
+ handles.append((h_line, h_patch))
+ labels.append("Treatment group")
+
+ # Plot counterfactual - post-test for treatment group IF no treatment
+ # had occurred.
+ time_points = self.x_pred_counterfactual[self.time_variable_name].values
+ if len(time_points) == 1:
+ y_pred_cf = az.extract(
+ self.y_pred_counterfactual,
+ group="posterior_predictive",
+ var_names="mu",
+ )
+ # Select single unit data for plotting
+ y_pred_cf_single = y_pred_cf.isel(treated_units=0)
+ violin_data = (
+ y_pred_cf_single.values
+ if hasattr(y_pred_cf_single, "values")
+ else y_pred_cf_single
+ )
+ parts = ax.violinplot(
+ violin_data.T,
+ positions=self.x_pred_counterfactual[self.time_variable_name].values,
+ showmeans=False,
+ showmedians=False,
+ widths=0.2,
+ )
+ for pc in parts["bodies"]:
+ pc.set_facecolor("C0")
+ pc.set_edgecolor("None")
+ pc.set_alpha(0.5)
+ else:
+ h_line, h_patch = plot_xY(
+ time_points,
+ self.y_pred_counterfactual.posterior_predictive.mu.isel(
+ treated_units=0
+ ),
+ ax=ax,
+ plot_hdi_kwargs={"color": "C2"},
+ label="Counterfactual",
+ )
+ handles.append((h_line, h_patch))
+ labels.append("Counterfactual")
+
+ # arrow to label the causal impact
+ _plot_causal_impact_arrow(self, ax)
+
+ # formatting
+ ax.set(
+ xticks=self.x_pred_treatment[self.time_variable_name].values,
+ title=self._causal_impact_summary_stat(round_to),
+ )
+ ax.legend(
+ handles=(h_tuple for h_tuple in handles),
+ labels=labels,
+ fontsize=LEGEND_FONT_SIZE,
+ )
+ return fig, ax
+
+ def _ols_plot(
+ self, round_to: int | None = 2, **kwargs: dict
+ ) -> tuple[plt.Figure, plt.Axes]:
+ """Generate plot for difference-in-differences"""
+ fig, ax = plt.subplots()
+
+ # Plot raw data
+ sns.lineplot(
+ self.data,
+ x=self.time_variable_name,
+ y=self.outcome_variable_name,
+ hue="group",
+ units="unit",
+ estimator=None,
+ alpha=0.25,
+ ax=ax,
+ )
+ # Plot model fit to control group
+ ax.plot(
+ self.x_pred_control[self.time_variable_name],
+ self.y_pred_control,
+ "o",
+ c="C0",
+ markersize=10,
+ label="model fit (control group)",
+ )
+ # Plot model fit to treatment group
+ ax.plot(
+ self.x_pred_treatment[self.time_variable_name],
+ self.y_pred_treatment,
+ "o",
+ c="C1",
+ markersize=10,
+ label="model fit (treament group)",
+ )
+ # Plot counterfactual - post-test for treatment group IF no treatment
+ # had occurred.
+ ax.plot(
+ self.x_pred_counterfactual[self.time_variable_name],
+ self.y_pred_counterfactual,
+ "go",
+ markersize=10,
+ label="counterfactual",
+ )
+ # arrow to label the causal impact
+ ax.annotate(
+ "",
+ xy=(1.05, self.y_pred_counterfactual),
+ xycoords="data",
+ xytext=(1.05, self.y_pred_treatment[1]),
+ textcoords="data",
+ arrowprops={"arrowstyle": "<->", "color": "green", "lw": 3},
+ )
+ ax.annotate(
+ "causal\nimpact",
+ xy=(
+ 1.05,
+ np.mean([self.y_pred_counterfactual[0], self.y_pred_treatment[1]]),
+ ),
+ xycoords="data",
+ xytext=(5, 0),
+ textcoords="offset points",
+ color="green",
+ va="center",
+ )
+ # formatting
+ # In OLS context, causal_impact should be a float, but mypy doesn't know this
+ causal_impact_value = (
+ float(self.causal_impact) if self.causal_impact is not None else 0.0
+ )
+ ax.set(
+ xlim=[-0.05, 1.1],
+ xticks=[0, 1],
+ xticklabels=["pre", "post"],
+ title=f"Causal impact = {round_num(causal_impact_value, round_to)}",
+ )
+ ax.legend(fontsize=LEGEND_FONT_SIZE)
+ return fig, ax
diff --git a/causalpy/experiments/instrumental_variable.py b/causalpy/experiments/instrumental_variable.py
new file mode 100644
index 00000000..4fdf7429
--- /dev/null
+++ b/causalpy/experiments/instrumental_variable.py
@@ -0,0 +1,259 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Instrumental variable regression
+"""
+
+import warnings # noqa: I001
+
+import numpy as np
+import pandas as pd
+from patsy import dmatrices
+from sklearn.linear_model import LinearRegression as sk_lin_reg
+
+from causalpy.custom_exceptions import DataException
+from .base import BaseExperiment
+
+
+class InstrumentalVariable(BaseExperiment):
+ """A class to analyse instrumental variable style experiments.
+
+ Parameters
+ ----------
+ instruments_data : pd.DataFrame
+ A pandas dataframe of instruments for our treatment variable.
+ Should contain instruments Z, and treatment t.
+ data : pd.DataFrame
+ A pandas dataframe of covariates for fitting the focal regression
+ of interest. Should contain covariates X including treatment t and
+ outcome y.
+ instruments_formula : str
+ A statistical model formula for the instrumental stage regression,
+ e.g. ``t ~ 1 + z1 + z2 + z3``.
+ formula : str
+ A statistical model formula for the focal regression,
+ e.g. ``y ~ 1 + t + x1 + x2 + x3``.
+ model : BaseExperiment, optional
+ A PyMC model. Defaults to None.
+ priors : dict, optional
+ Dictionary of priors for the mus and sigmas of both regressions.
+ If priors are not specified we will substitute MLE estimates for
+ the beta coefficients. Example: ``priors = {"mus": [0, 0],
+ "sigmas": [1, 1], "eta": 2, "lkj_sd": 2}``.
+ vs_prior_type : str or None, default=None
+ Type of variable selection prior: 'spike_and_slab', 'horseshoe', or None.
+ If None, uses standard normal priors.
+ vs_hyperparams : dict, optional
+ Hyperparameters for variable selection priors. Only used if vs_prior_type
+ is not None.
+ binary_treatment : bool, default=False
+ A indicator for whether the treatment to be modelled is binary or not.
+ Determines which PyMC model we use to model the joint outcome and
+ treatment.
+
+ Example
+ --------
+ >>> import pandas as pd
+ >>> import causalpy as cp
+ >>> from causalpy.pymc_models import InstrumentalVariableRegression
+ >>> import numpy as np
+ >>> N = 100
+ >>> e1 = np.random.normal(0, 3, N)
+ >>> e2 = np.random.normal(0, 1, N)
+ >>> Z = np.random.uniform(0, 1, N)
+ >>> ## Ensure the endogeneity of the the treatment variable
+ >>> X = -1 + 4 * Z + e2 + 2 * e1
+ >>> y = 2 + 3 * X + 3 * e1
+ >>> test_data = pd.DataFrame({"y": y, "X": X, "Z": Z})
+ >>> sample_kwargs = {
+ ... "tune": 1,
+ ... "draws": 5,
+ ... "chains": 1,
+ ... "cores": 4,
+ ... "target_accept": 0.95,
+ ... "progressbar": False,
+ ... }
+ >>> instruments_formula = "X ~ 1 + Z"
+ >>> formula = "y ~ 1 + X"
+ >>> instruments_data = test_data[["X", "Z"]]
+ >>> data = test_data[["y", "X"]]
+ >>> iv = cp.InstrumentalVariable(
+ ... instruments_data=instruments_data,
+ ... data=data,
+ ... instruments_formula=instruments_formula,
+ ... formula=formula,
+ ... model=InstrumentalVariableRegression(sample_kwargs=sample_kwargs),
+ ... )
+ >>> # With variable selection
+ >>> iv = cp.InstrumentalVariable(
+ ... instruments_data=instruments_data,
+ ... data=data,
+ ... instruments_formula=instruments_formula,
+ ... formula=formula,
+ ... model=InstrumentalVariableRegression(sample_kwargs=sample_kwargs),
+ ... vs_prior_type="spike_and_slab",
+ ... vs_hyperparams={"slab_sigma": 5.0},
+ ... )
+ """
+
+ supports_ols = False
+ supports_bayes = True
+
+ def __init__(
+ self,
+ instruments_data: pd.DataFrame,
+ data: pd.DataFrame,
+ instruments_formula: str,
+ formula: str,
+ model: BaseExperiment | None = None,
+ priors: dict | None = None,
+ vs_prior_type=None,
+ vs_hyperparams=None,
+ binary_treatment=False,
+ **kwargs: dict,
+ ) -> None:
+ super().__init__(model=model)
+ self.expt_type = "Instrumental Variable Regression"
+ self.data = data
+ self.instruments_data = instruments_data
+ self.formula = formula
+ self.instruments_formula = instruments_formula
+ self.model = model
+ self.vs_prior_type = vs_prior_type
+ self.vs_hyperparams = vs_hyperparams or {}
+ self.binary_treatment = binary_treatment
+ self.input_validation()
+
+ y, X = dmatrices(formula, self.data)
+ self._y_design_info = y.design_info
+ self._x_design_info = X.design_info
+ self.labels = X.design_info.column_names
+ self.y, self.X = np.asarray(y), np.asarray(X)
+ self.outcome_variable_name = y.design_info.column_names[0]
+
+ t, Z = dmatrices(instruments_formula, self.instruments_data)
+ self._t_design_info = t.design_info
+ self._z_design_info = Z.design_info
+ self.labels_instruments = Z.design_info.column_names
+ self.t, self.Z = np.asarray(t), np.asarray(Z)
+ self.instrument_variable_name = t.design_info.column_names[0]
+
+ self.get_naive_OLS_fit()
+ self.get_2SLS_fit()
+
+ # fit the model to the data
+ COORDS = {"instruments": self.labels_instruments, "covariates": self.labels}
+ self.coords = COORDS
+ if priors is None:
+ if binary_treatment:
+ # Different default priors for binary treatment
+ priors = {
+ "mus": [self.ols_beta_first_params, self.ols_beta_second_params],
+ "sigmas": [1, 1],
+ "sigma_U": 1.0,
+ "rho_bounds": [-0.99, 0.99],
+ }
+ else:
+ # Original continuous treatment priors
+ priors = {
+ "mus": [self.ols_beta_first_params, self.ols_beta_second_params],
+ "sigmas": [1, 1],
+ "eta": 2,
+ "lkj_sd": 1,
+ }
+ self.priors = priors
+ self.model.fit( # type: ignore[call-arg,union-attr]
+ X=self.X,
+ Z=self.Z,
+ y=self.y,
+ t=self.t,
+ coords=COORDS,
+ priors=self.priors,
+ vs_prior_type=vs_prior_type,
+ vs_hyperparams=vs_hyperparams,
+ binary_treatment=self.binary_treatment,
+ )
+
+ def input_validation(self) -> None:
+ """Validate the input data and model formula for correctness"""
+ treatment = self.instruments_formula.split("~")[0]
+ test = treatment.strip() in self.instruments_data.columns
+ test = test & (treatment.strip() in self.data.columns)
+ if not test:
+ raise DataException(
+ f"""
+ The treatment variable:
+ {treatment} must appear in the instrument_data to be used
+ as an outcome variable and in the data object to be used as a covariate.
+ """
+ )
+ Z = self.data[treatment.strip()]
+ check_binary = len(np.unique(Z)) > 2
+ if check_binary:
+ warnings.warn(
+ """Warning. The treatment variable is not Binary.
+ We will use the multivariate normal likelihood
+ for continuous treatment."""
+ )
+
+ def get_2SLS_fit(self) -> None:
+ """
+ Two Stage Least Squares Fit
+
+ This function is called by the experiment, results are used for
+ priors if none are provided.
+ """
+ first_stage_reg = sk_lin_reg().fit(self.Z, self.t)
+ fitted_Z_values = first_stage_reg.predict(self.Z)
+ X2 = self.data.copy(deep=True)
+ X2[self.instrument_variable_name] = fitted_Z_values
+ _, X2 = dmatrices(self.formula, X2)
+ second_stage_reg = sk_lin_reg().fit(X=X2, y=self.y)
+ betas_first = list(first_stage_reg.coef_[0][1:])
+ betas_first.insert(0, first_stage_reg.intercept_[0])
+ betas_second = list(second_stage_reg.coef_[0][1:])
+ betas_second.insert(0, second_stage_reg.intercept_[0])
+ self.ols_beta_first_params = betas_first
+ self.ols_beta_second_params = betas_second
+ self.first_stage_reg = first_stage_reg
+ self.second_stage_reg = second_stage_reg
+
+ def get_naive_OLS_fit(self) -> None:
+ """
+ Naive Ordinary Least Squares
+
+ This function is called by the experiment.
+ """
+ ols_reg = sk_lin_reg().fit(self.X, self.y)
+ beta_params = list(ols_reg.coef_[0][1:])
+ beta_params.insert(0, ols_reg.intercept_[0])
+ self.ols_beta_params = dict(zip(self._x_design_info.column_names, beta_params))
+ self.ols_reg = ols_reg
+
+ def plot(self, *args, **kwargs) -> None: # type: ignore[override]
+ """
+ Plot the results
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers.
+ """
+ raise NotImplementedError("Plot method not implemented.")
+
+ def summary(self, round_to: int | None = None) -> None:
+ """Print summary of main results and model coefficients.
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers
+ """
+ raise NotImplementedError("Summary method not implemented.")
diff --git a/causalpy/experiments/interrupted_time_series.py b/causalpy/experiments/interrupted_time_series.py
new file mode 100644
index 00000000..8ce20f25
--- /dev/null
+++ b/causalpy/experiments/interrupted_time_series.py
@@ -0,0 +1,684 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Interrupted Time Series Analysis
+"""
+
+from typing import Any, List, Union
+
+import arviz as az
+import numpy as np
+import pandas as pd
+import xarray as xr
+from matplotlib import pyplot as plt
+from patsy import build_design_matrices, dmatrices
+from sklearn.base import RegressorMixin
+
+from causalpy.custom_exceptions import BadIndexException
+from causalpy.plot_utils import get_hdi_to_df, plot_xY
+from causalpy.pymc_models import (
+ BayesianBasisExpansionTimeSeries,
+ PyMCModel,
+ StateSpaceTimeSeries,
+)
+from causalpy.utils import round_num
+
+from .base import BaseExperiment
+
+LEGEND_FONT_SIZE = 12
+
+
+class InterruptedTimeSeries(BaseExperiment):
+ """
+ The class for interrupted time series analysis.
+
+ :param data:
+ A pandas dataframe
+ :param treatment_time:
+ The time when treatment occurred, should be in reference to the data index
+ :param formula:
+ A statistical model formula
+ :param model:
+ A PyMC model
+
+ Example
+ --------
+ >>> import causalpy as cp
+ >>> df = (
+ ... cp.load_data("its")
+ ... .assign(date=lambda x: pd.to_datetime(x["date"]))
+ ... .set_index("date")
+ ... )
+ >>> treatment_time = pd.to_datetime("2017-01-01")
+ >>> seed = 42
+ >>> result = cp.InterruptedTimeSeries(
+ ... df,
+ ... treatment_time,
+ ... formula="y ~ 1 + t + C(month)",
+ ... model=cp.pymc_models.LinearRegression(
+ ... sample_kwargs={
+ ... "target_accept": 0.95,
+ ... "random_seed": seed,
+ ... "progressbar": False,
+ ... }
+ ... ),
+ ... )
+
+ Notes
+ -----
+ For Bayesian models, the causal impact is calculated using the posterior expectation
+ (``mu``) rather than the posterior predictive (``y_hat``). This means the impact and
+ its uncertainty represent the systematic causal effect, excluding observation-level
+ noise. The uncertainty bands in the plots reflect parameter uncertainty and
+ counterfactual prediction uncertainty, but not individual observation variability.
+ """
+
+ expt_type = "Interrupted Time Series"
+ supports_ols = True
+ supports_bayes = True
+
+ def __init__(
+ self,
+ data: pd.DataFrame,
+ treatment_time: Union[int, float, pd.Timestamp],
+ formula: str,
+ model: Union[PyMCModel, RegressorMixin] | None = None,
+ **kwargs: dict,
+ ) -> None:
+ super().__init__(model=model)
+ self.pre_y: xr.DataArray
+ self.post_y: xr.DataArray
+ # rename the index to "obs_ind"
+ data.index.name = "obs_ind"
+ self.input_validation(data, treatment_time)
+ self.treatment_time = treatment_time
+ # set experiment type - usually done in subclasses
+ self.expt_type = "Pre-Post Fit"
+ # split data in to pre and post intervention
+ self.datapre = data[data.index < self.treatment_time]
+ self.datapost = data[data.index >= self.treatment_time]
+
+ self.formula = formula
+
+ # set things up with pre-intervention data
+ y, X = dmatrices(formula, self.datapre)
+ self.outcome_variable_name = y.design_info.column_names[0]
+ self._y_design_info = y.design_info
+ self._x_design_info = X.design_info
+ self.labels = X.design_info.column_names
+ self.pre_y, self.pre_X = np.asarray(y), np.asarray(X)
+ # process post-intervention data
+ (new_y, new_x) = build_design_matrices(
+ [self._y_design_info, self._x_design_info], self.datapost
+ )
+ self.post_X = np.asarray(new_x)
+ self.post_y = np.asarray(new_y)
+ # turn into xarray.DataArray's
+ self.pre_X = xr.DataArray(
+ self.pre_X,
+ dims=["obs_ind", "coeffs"],
+ coords={
+ "obs_ind": self.datapre.index,
+ "coeffs": self.labels,
+ },
+ )
+ self.pre_y = xr.DataArray(
+ self.pre_y, # Keep 2D shape
+ dims=["obs_ind", "treated_units"],
+ coords={"obs_ind": self.datapre.index, "treated_units": ["unit_0"]},
+ )
+ self.post_X = xr.DataArray(
+ self.post_X,
+ dims=["obs_ind", "coeffs"],
+ coords={
+ "obs_ind": self.datapost.index,
+ "coeffs": self.labels,
+ },
+ )
+ self.post_y = xr.DataArray(
+ self.post_y, # Keep 2D shape
+ dims=["obs_ind", "treated_units"],
+ coords={"obs_ind": self.datapost.index, "treated_units": ["unit_0"]},
+ )
+
+ # fit the model to the observed (pre-intervention) data
+ if isinstance(self.model, PyMCModel):
+ is_bsts_like = isinstance(
+ self.model, (BayesianBasisExpansionTimeSeries, StateSpaceTimeSeries)
+ )
+
+ if is_bsts_like:
+ # BSTS/StateSpace models expect numpy arrays and datetime coords
+ X_fit = self.pre_X.values if self.pre_X.shape[1] > 0 else None # type: ignore[attr-defined]
+ y_fit = self.pre_y.isel(treated_units=0).values # type: ignore[attr-defined]
+ pre_coords: dict[str, Any] = {"datetime_index": self.datapre.index}
+ if X_fit is not None:
+ pre_coords["coeffs"] = list(self.labels)
+ self.model.fit(X=X_fit, y=y_fit, coords=pre_coords)
+ else:
+ # General PyMC models expect xarray with treated_units
+ COORDS = {
+ "coeffs": self.labels,
+ "obs_ind": np.arange(self.pre_X.shape[0]),
+ "treated_units": ["unit_0"],
+ }
+ self.model.fit(X=self.pre_X, y=self.pre_y, coords=COORDS)
+ elif isinstance(self.model, RegressorMixin):
+ # For OLS models, use 1D y data
+ self.model.fit(X=self.pre_X, y=self.pre_y.isel(treated_units=0))
+ else:
+ raise ValueError("Model type not recognized")
+
+ # score the goodness of fit to the pre-intervention data
+ if isinstance(self.model, PyMCModel):
+ is_bsts_like = isinstance(
+ self.model, (BayesianBasisExpansionTimeSeries, StateSpaceTimeSeries)
+ )
+ if is_bsts_like:
+ X_score = self.pre_X.values if self.pre_X.shape[1] > 0 else None # type: ignore[attr-defined]
+ y_score = self.pre_y.isel(treated_units=0).values # type: ignore[attr-defined]
+ score_coords: dict[str, Any] = {"datetime_index": self.datapre.index}
+ if X_score is not None:
+ score_coords["coeffs"] = list(self.labels)
+ self.score = self.model.score(X=X_score, y=y_score, coords=score_coords)
+ else:
+ self.score = self.model.score(X=self.pre_X, y=self.pre_y)
+ elif isinstance(self.model, RegressorMixin):
+ self.score = self.model.score(
+ X=self.pre_X, y=self.pre_y.isel(treated_units=0)
+ )
+
+ # get the model predictions of the observed (pre-intervention) data
+ if isinstance(self.model, PyMCModel):
+ is_bsts_like = isinstance(
+ self.model, (BayesianBasisExpansionTimeSeries, StateSpaceTimeSeries)
+ )
+ if is_bsts_like:
+ X_pre_predict = self.pre_X.values if self.pre_X.shape[1] > 0 else None # type: ignore[attr-defined]
+ pre_pred_coords: dict[str, Any] = {"datetime_index": self.datapre.index}
+ self.pre_pred = self.model.predict(
+ X=X_pre_predict, coords=pre_pred_coords
+ )
+ if not isinstance(self.pre_pred, az.InferenceData):
+ self.pre_pred = az.InferenceData(posterior_predictive=self.pre_pred)
+ else:
+ self.pre_pred = self.model.predict(X=self.pre_X)
+ elif isinstance(self.model, RegressorMixin):
+ self.pre_pred = self.model.predict(X=self.pre_X)
+
+ # calculate the counterfactual (post period)
+ if isinstance(self.model, PyMCModel):
+ is_bsts_like = isinstance(
+ self.model, (BayesianBasisExpansionTimeSeries, StateSpaceTimeSeries)
+ )
+ if is_bsts_like:
+ X_post_predict = (
+ self.post_X.values if self.post_X.shape[1] > 0 else None # type: ignore[attr-defined]
+ )
+ post_pred_coords: dict[str, Any] = {
+ "datetime_index": self.datapost.index
+ }
+ self.post_pred = self.model.predict(
+ X=X_post_predict, coords=post_pred_coords, out_of_sample=True
+ )
+ if not isinstance(self.post_pred, az.InferenceData):
+ self.post_pred = az.InferenceData(
+ posterior_predictive=self.post_pred
+ )
+ else:
+ self.post_pred = self.model.predict(X=self.post_X)
+ elif isinstance(self.model, RegressorMixin):
+ self.post_pred = self.model.predict(X=self.post_X)
+
+ # calculate impact - use appropriate y data format for each model type
+ if isinstance(self.model, PyMCModel):
+ is_bsts_like = isinstance(
+ self.model, (BayesianBasisExpansionTimeSeries, StateSpaceTimeSeries)
+ )
+ if is_bsts_like:
+ pre_y_for_impact = self.pre_y.isel(treated_units=0)
+ post_y_for_impact = self.post_y.isel(treated_units=0)
+ self.pre_impact = self.model.calculate_impact(
+ pre_y_for_impact, self.pre_pred
+ )
+ self.post_impact = self.model.calculate_impact(
+ post_y_for_impact, self.post_pred
+ )
+ else:
+ # PyMC models with treated_units use 2D data
+ self.pre_impact = self.model.calculate_impact(self.pre_y, self.pre_pred)
+ self.post_impact = self.model.calculate_impact(
+ self.post_y, self.post_pred
+ )
+ elif isinstance(self.model, RegressorMixin):
+ # SKL models work with 1D data
+ self.pre_impact = self.model.calculate_impact(
+ self.pre_y.isel(treated_units=0), self.pre_pred
+ )
+ self.post_impact = self.model.calculate_impact(
+ self.post_y.isel(treated_units=0), self.post_pred
+ )
+
+ self.post_impact_cumulative = self.model.calculate_cumulative_impact(
+ self.post_impact
+ )
+
+ def input_validation(
+ self, data: pd.DataFrame, treatment_time: Union[int, float, pd.Timestamp]
+ ) -> None:
+ """Validate the input data and model formula for correctness"""
+ if isinstance(data.index, pd.DatetimeIndex) and not isinstance(
+ treatment_time, pd.Timestamp
+ ):
+ raise BadIndexException(
+ "If data.index is DatetimeIndex, treatment_time must be pd.Timestamp."
+ )
+ if not isinstance(data.index, pd.DatetimeIndex) and isinstance(
+ treatment_time, pd.Timestamp
+ ):
+ raise BadIndexException(
+ "If data.index is not DatetimeIndex, treatment_time must be pd.Timestamp." # noqa: E501
+ )
+
+ def summary(self, round_to: int | None = None) -> None:
+ """Print summary of main results and model coefficients.
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers
+ """
+ print(f"{self.expt_type:=^80}")
+ print(f"Formula: {self.formula}")
+ self.print_coefficients(round_to)
+
+ def _bayesian_plot(
+ self, round_to: int | None = 2, **kwargs: dict
+ ) -> tuple[plt.Figure, List[plt.Axes]]:
+ """
+ Plot the results
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers.
+ """
+ counterfactual_label = "Counterfactual"
+
+ fig, ax = plt.subplots(3, 1, sharex=True, figsize=(7, 8))
+ # TOP PLOT --------------------------------------------------
+ # pre-intervention period
+ pre_mu = self.pre_pred["posterior_predictive"].mu
+ pre_mu_plot = (
+ pre_mu.isel(treated_units=0) if "treated_units" in pre_mu.dims else pre_mu
+ )
+ h_line, h_patch = plot_xY(
+ self.datapre.index,
+ pre_mu_plot,
+ ax=ax[0],
+ plot_hdi_kwargs={"color": "C0"},
+ )
+ handles = [(h_line, h_patch)]
+ labels = ["Pre-intervention period"]
+
+ (h,) = ax[0].plot(
+ self.datapre.index,
+ self.pre_y.isel(treated_units=0)
+ if hasattr(self.pre_y, "isel")
+ else self.pre_y[:, 0],
+ "k.",
+ label="Observations",
+ )
+ handles.append(h)
+ labels.append("Observations")
+
+ # post intervention period
+ post_mu = self.post_pred["posterior_predictive"].mu
+ post_mu_plot = (
+ post_mu.isel(treated_units=0)
+ if "treated_units" in post_mu.dims
+ else post_mu
+ )
+ h_line, h_patch = plot_xY(
+ self.datapost.index,
+ post_mu_plot,
+ ax=ax[0],
+ plot_hdi_kwargs={"color": "C1"},
+ )
+ handles.append((h_line, h_patch))
+ labels.append(counterfactual_label)
+
+ ax[0].plot(
+ self.datapost.index,
+ self.post_y.isel(treated_units=0)
+ if hasattr(self.post_y, "isel")
+ else self.post_y[:, 0],
+ "k.",
+ )
+ # Shaded causal effect
+ post_pred_mu = az.extract(
+ self.post_pred, group="posterior_predictive", var_names="mu"
+ )
+ if "treated_units" in post_pred_mu.dims:
+ post_pred_mu = post_pred_mu.isel(treated_units=0)
+ post_pred_mu = post_pred_mu.mean("sample")
+ h = ax[0].fill_between(
+ self.datapost.index,
+ y1=post_pred_mu,
+ y2=self.post_y.isel(treated_units=0)
+ if hasattr(self.post_y, "isel")
+ else self.post_y[:, 0],
+ color="C0",
+ alpha=0.25,
+ )
+ handles.append(h)
+ labels.append("Causal impact")
+
+ # Title with R^2, supporting both unit_0_r2 and r2 keys
+ r2_val = None
+ r2_std_val = None
+ try:
+ if isinstance(self.score, pd.Series):
+ if "unit_0_r2" in self.score.index:
+ r2_val = self.score["unit_0_r2"]
+ r2_std_val = self.score.get("unit_0_r2_std", None)
+ elif "r2" in self.score.index:
+ r2_val = self.score["r2"]
+ r2_std_val = self.score.get("r2_std", None)
+ except Exception:
+ pass
+ title_str = "Pre-intervention Bayesian $R^2$"
+ if r2_val is not None:
+ title_str += f": {round_num(r2_val, round_to)}"
+ if r2_std_val is not None:
+ title_str += f"\n(std = {round_num(r2_std_val, round_to)})"
+ ax[0].set(title=title_str)
+
+ # MIDDLE PLOT -----------------------------------------------
+ pre_impact_plot = (
+ self.pre_impact.isel(treated_units=0)
+ if hasattr(self.pre_impact, "dims")
+ and "treated_units" in self.pre_impact.dims
+ else self.pre_impact
+ )
+ plot_xY(
+ self.datapre.index,
+ pre_impact_plot,
+ ax=ax[1],
+ plot_hdi_kwargs={"color": "C0"},
+ )
+ post_impact_plot = (
+ self.post_impact.isel(treated_units=0)
+ if hasattr(self.post_impact, "dims")
+ and "treated_units" in self.post_impact.dims
+ else self.post_impact
+ )
+ plot_xY(
+ self.datapost.index,
+ post_impact_plot,
+ ax=ax[1],
+ plot_hdi_kwargs={"color": "C1"},
+ )
+ ax[1].axhline(y=0, c="k")
+ post_impact_mean = (
+ self.post_impact.mean(["chain", "draw"])
+ if hasattr(self.post_impact, "mean")
+ else self.post_impact
+ )
+ if (
+ hasattr(post_impact_mean, "dims")
+ and "treated_units" in post_impact_mean.dims
+ ):
+ post_impact_mean = post_impact_mean.isel(treated_units=0)
+ ax[1].fill_between(
+ self.datapost.index,
+ y1=post_impact_mean,
+ color="C0",
+ alpha=0.25,
+ label="Causal impact",
+ )
+ ax[1].set(title="Causal Impact")
+
+ # BOTTOM PLOT -----------------------------------------------
+ ax[2].set(title="Cumulative Causal Impact")
+ post_cum_plot = (
+ self.post_impact_cumulative.isel(treated_units=0)
+ if hasattr(self.post_impact_cumulative, "dims")
+ and "treated_units" in self.post_impact_cumulative.dims
+ else self.post_impact_cumulative
+ )
+ plot_xY(
+ self.datapost.index,
+ post_cum_plot,
+ ax=ax[2],
+ plot_hdi_kwargs={"color": "C1"},
+ )
+ ax[2].axhline(y=0, c="k")
+
+ # Intervention line
+ for i in [0, 1, 2]:
+ ax[i].axvline(
+ x=self.treatment_time,
+ ls="-",
+ lw=3,
+ color="r",
+ )
+
+ ax[0].legend(
+ handles=(h_tuple for h_tuple in handles),
+ labels=labels,
+ fontsize=LEGEND_FONT_SIZE,
+ )
+
+ return fig, ax
+
+ def _ols_plot(
+ self, round_to: int | None = 2, **kwargs: dict
+ ) -> tuple[plt.Figure, List[plt.Axes]]:
+ """
+ Plot the results
+
+ :param round_to:
+ Number of decimals used to round results. Defaults to 2. Use "None" to return raw numbers.
+ """
+ counterfactual_label = "Counterfactual"
+
+ fig, ax = plt.subplots(3, 1, sharex=True, figsize=(7, 8))
+
+ ax[0].plot(self.datapre.index, self.pre_y, "k.")
+ ax[0].plot(self.datapost.index, self.post_y, "k.")
+
+ ax[0].plot(self.datapre.index, self.pre_pred, c="k", label="model fit")
+ ax[0].plot(
+ self.datapost.index,
+ self.post_pred,
+ label=counterfactual_label,
+ ls=":",
+ c="k",
+ )
+ ax[0].set(
+ title=f"$R^2$ on pre-intervention data = {round_num(float(self.score), round_to)}"
+ )
+
+ ax[1].plot(self.datapre.index, self.pre_impact, "k.")
+ ax[1].plot(
+ self.datapost.index,
+ self.post_impact,
+ "k.",
+ label=counterfactual_label,
+ )
+ ax[1].axhline(y=0, c="k")
+ ax[1].set(title="Causal Impact")
+
+ ax[2].plot(self.datapost.index, self.post_impact_cumulative, c="k")
+ ax[2].axhline(y=0, c="k")
+ ax[2].set(title="Cumulative Causal Impact")
+
+ # Shaded causal effect
+ ax[0].fill_between(
+ self.datapost.index,
+ y1=np.squeeze(self.post_pred),
+ y2=np.squeeze(self.post_y),
+ color="C0",
+ alpha=0.25,
+ label="Causal impact",
+ )
+ ax[1].fill_between(
+ self.datapost.index,
+ y1=np.squeeze(self.post_impact),
+ color="C0",
+ alpha=0.25,
+ label="Causal impact",
+ )
+
+ # Intervention line
+ # TODO: make this work when treatment_time is a datetime
+ for i in [0, 1, 2]:
+ ax[i].axvline(
+ x=self.treatment_time,
+ ls="-",
+ lw=3,
+ color="r",
+ label="Treatment time",
+ )
+
+ ax[0].legend(fontsize=LEGEND_FONT_SIZE)
+
+ return (fig, ax)
+
+ def get_plot_data_bayesian(self, hdi_prob: float = 0.94) -> pd.DataFrame:
+ """
+ Recover the data of the experiment along with the prediction and causal impact information.
+
+ :param hdi_prob:
+ Prob for which the highest density interval will be computed. The default value is defined as the default from the :func:`arviz.hdi` function.
+ """
+ if isinstance(self.model, PyMCModel):
+ hdi_pct = int(round(hdi_prob * 100))
+
+ pred_lower_col = f"pred_hdi_lower_{hdi_pct}"
+ pred_upper_col = f"pred_hdi_upper_{hdi_pct}"
+ impact_lower_col = f"impact_hdi_lower_{hdi_pct}"
+ impact_upper_col = f"impact_hdi_upper_{hdi_pct}"
+
+ pre_data = self.datapre.copy()
+ post_data = self.datapost.copy()
+
+ pre_mu = az.extract(
+ self.pre_pred, group="posterior_predictive", var_names="mu"
+ )
+ post_mu = az.extract(
+ self.post_pred, group="posterior_predictive", var_names="mu"
+ )
+ if "treated_units" in pre_mu.dims:
+ pre_mu = pre_mu.isel(treated_units=0)
+ if "treated_units" in post_mu.dims:
+ post_mu = post_mu.isel(treated_units=0)
+ pre_data["prediction"] = pre_mu.mean("sample").values
+ post_data["prediction"] = post_mu.mean("sample").values
+
+ hdi_pre_pred = get_hdi_to_df(
+ self.pre_pred["posterior_predictive"].mu, hdi_prob=hdi_prob
+ )
+ hdi_post_pred = get_hdi_to_df(
+ self.post_pred["posterior_predictive"].mu, hdi_prob=hdi_prob
+ )
+ # If treated_units present, select unit_0; otherwise use directly
+ if (
+ isinstance(hdi_pre_pred.index, pd.MultiIndex)
+ and "treated_units" in hdi_pre_pred.index.names
+ ):
+ pre_data[[pred_lower_col, pred_upper_col]] = hdi_pre_pred.xs(
+ "unit_0", level="treated_units"
+ ).set_index(pre_data.index)
+ post_data[[pred_lower_col, pred_upper_col]] = hdi_post_pred.xs(
+ "unit_0", level="treated_units"
+ ).set_index(post_data.index)
+ else:
+ pre_data[[pred_lower_col, pred_upper_col]] = hdi_pre_pred.set_index(
+ pre_data.index
+ )
+ post_data[[pred_lower_col, pred_upper_col]] = hdi_post_pred.set_index(
+ post_data.index
+ )
+
+ pre_impact_mean = (
+ self.pre_impact.mean(dim=["chain", "draw"])
+ if hasattr(self.pre_impact, "mean")
+ else self.pre_impact
+ )
+ post_impact_mean = (
+ self.post_impact.mean(dim=["chain", "draw"])
+ if hasattr(self.post_impact, "mean")
+ else self.post_impact
+ )
+ if (
+ hasattr(pre_impact_mean, "dims")
+ and "treated_units" in pre_impact_mean.dims
+ ):
+ pre_impact_mean = pre_impact_mean.isel(treated_units=0)
+ if (
+ hasattr(post_impact_mean, "dims")
+ and "treated_units" in post_impact_mean.dims
+ ):
+ post_impact_mean = post_impact_mean.isel(treated_units=0)
+ pre_data["impact"] = pre_impact_mean.values
+ post_data["impact"] = post_impact_mean.values
+
+ # Compute impact HDIs directly via quantiles over posterior dims to avoid column shape issues
+ alpha = 1 - hdi_prob
+ lower_q = alpha / 2
+ upper_q = 1 - alpha / 2
+
+ pre_lower_da = self.pre_impact.quantile(lower_q, dim=["chain", "draw"])
+ pre_upper_da = self.pre_impact.quantile(upper_q, dim=["chain", "draw"])
+ post_lower_da = self.post_impact.quantile(lower_q, dim=["chain", "draw"])
+ post_upper_da = self.post_impact.quantile(upper_q, dim=["chain", "draw"])
+
+ # If a treated_units dim remains for some models, select unit_0
+ if hasattr(pre_lower_da, "dims") and "treated_units" in pre_lower_da.dims:
+ pre_lower_da = pre_lower_da.sel(treated_units="unit_0")
+ pre_upper_da = pre_upper_da.sel(treated_units="unit_0")
+ if hasattr(post_lower_da, "dims") and "treated_units" in post_lower_da.dims:
+ post_lower_da = post_lower_da.sel(treated_units="unit_0")
+ post_upper_da = post_upper_da.sel(treated_units="unit_0")
+
+ pre_data[impact_lower_col] = (
+ pre_lower_da.to_series().reindex(pre_data.index).values
+ )
+ pre_data[impact_upper_col] = (
+ pre_upper_da.to_series().reindex(pre_data.index).values
+ )
+ post_data[impact_lower_col] = (
+ post_lower_da.to_series().reindex(post_data.index).values
+ )
+ post_data[impact_upper_col] = (
+ post_upper_da.to_series().reindex(post_data.index).values
+ )
+
+ self.plot_data = pd.concat([pre_data, post_data])
+
+ return self.plot_data
+ else:
+ raise ValueError("Unsupported model type")
+
+ def get_plot_data_ols(self) -> pd.DataFrame:
+ """
+ Recover the data of the experiment along with the prediction and causal impact information.
+ """
+ pre_data = self.datapre.copy()
+ post_data = self.datapost.copy()
+ pre_data["prediction"] = self.pre_pred
+ post_data["prediction"] = self.post_pred
+ pre_data["impact"] = self.pre_impact
+ post_data["impact"] = self.post_impact
+ self.plot_data = pd.concat([pre_data, post_data])
+
+ return self.plot_data
diff --git a/causalpy/experiments/inverse_propensity_weighting.py b/causalpy/experiments/inverse_propensity_weighting.py
new file mode 100644
index 00000000..92933203
--- /dev/null
+++ b/causalpy/experiments/inverse_propensity_weighting.py
@@ -0,0 +1,487 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Inverse propensity weighting
+"""
+
+from typing import List
+
+import arviz as az
+import matplotlib.pyplot as plt
+import numpy as np
+import pandas as pd
+from matplotlib.lines import Line2D
+from patsy import dmatrices
+from sklearn.linear_model import LinearRegression as sk_lin_reg
+
+from causalpy.custom_exceptions import DataException
+
+from .base import BaseExperiment
+
+
+class InversePropensityWeighting(BaseExperiment):
+ """A class to analyse inverse propensity weighting experiments.
+
+ Parameters
+ ----------
+ data : pd.DataFrame
+ A pandas dataframe.
+ formula : str
+ A statistical model formula for the propensity model.
+ outcome_variable : str
+ A string denoting the outcome variable in data to be reweighted.
+ weighting_scheme : str
+ A string denoting which weighting scheme to use among: 'raw',
+ 'robust', 'doubly robust' or 'overlap'. See Aronow and Miller
+ "Foundations of Agnostic Statistics" for discussion and computation
+ of these weighting schemes.
+ model : BaseExperiment, optional
+ A PyMC model. Defaults to None.
+
+ Example
+ --------
+ >>> import causalpy as cp
+ >>> df = cp.load_data("nhefs")
+ >>> seed = 42
+ >>> result = cp.InversePropensityWeighting(
+ ... df,
+ ... formula="trt ~ 1 + age + race",
+ ... outcome_variable="outcome",
+ ... weighting_scheme="robust",
+ ... model=cp.pymc_models.PropensityScore(
+ ... sample_kwargs={
+ ... "draws": 100,
+ ... "target_accept": 0.95,
+ ... "random_seed": seed,
+ ... "progressbar": False,
+ ... },
+ ... ),
+ ... )
+ """
+
+ supports_ols = False
+ supports_bayes = True
+
+ def __init__(
+ self,
+ data: pd.DataFrame,
+ formula: str,
+ outcome_variable: str,
+ weighting_scheme: str,
+ model: BaseExperiment | None = None,
+ **kwargs: dict,
+ ) -> None:
+ super().__init__(model=model)
+ self.expt_type = "Inverse Propensity Score Weighting"
+ self.data = data
+ self.formula = formula
+ self.outcome_variable = outcome_variable
+ self.weighting_scheme = weighting_scheme
+ self.input_validation()
+
+ t, X = dmatrices(formula, self.data)
+ self._t_design_info = t.design_info
+ self._t_design_info = X.design_info
+ self.labels = X.design_info.column_names
+ self.t, self.X = np.asarray(t), np.asarray(X)
+ self.y = self.data[self.outcome_variable]
+
+ COORDS = {"obs_ind": list(range(self.X.shape[0])), "coeffs": self.labels}
+ self.coords = COORDS
+ self.X_outcome = pd.DataFrame(self.X, columns=self.labels)
+ self.X_outcome["trt"] = self.t
+ self.coords["outcome_coeffs"] = self.X_outcome.columns
+ self.model.fit(X=self.X, t=self.t, coords=COORDS) # type: ignore[call-arg]
+
+ def input_validation(self) -> None:
+ """Validate the input data and model formula for correctness"""
+ treatment = self.formula.split("~")[0]
+ test = treatment.strip() in self.data.columns
+ test = test & (self.outcome_variable in self.data.columns)
+ if not test:
+ raise DataException(
+ f"""
+ The treatment variable:
+ {treatment} must appear in the data to be used
+ as an outcome variable. And {self.outcome_variable}
+ must also be available in the data to be re-weighted
+ """
+ )
+ T = self.data[treatment.strip()]
+ check_binary = len(np.unique(T)) > 2
+ if check_binary:
+ raise DataException(
+ """Warning. The treatment variable is not 0-1 Binary.
+ """
+ )
+
+ def make_robust_adjustments(
+ self, ps: np.ndarray
+ ) -> tuple[pd.Series, pd.Series, int, int]:
+ """This estimator is discussed in Aronow
+ and Miller's book as being related to the
+ Horvitz Thompson method"""
+ X = pd.DataFrame(self.X, columns=self.labels)
+ X["ps"] = ps
+ X[self.outcome_variable] = self.y
+ t = self.t.flatten()
+ p_of_t = np.mean(t)
+ X["i_ps"] = np.where(t == 1, (p_of_t / X["ps"]), (1 - p_of_t) / (1 - X["ps"]))
+ n_ntrt = X[t == 0].shape[0]
+ n_trt = X[t == 1].shape[0]
+ outcome_trt = X[t == 1][self.outcome_variable]
+ outcome_ntrt = X[t == 0][self.outcome_variable]
+ i_propensity0 = X[t == 0]["i_ps"]
+ i_propensity1 = X[t == 1]["i_ps"]
+ weighted_outcome1 = outcome_trt * i_propensity1
+ weighted_outcome0 = outcome_ntrt * i_propensity0
+ return weighted_outcome0, weighted_outcome1, n_ntrt, n_trt
+
+ def make_raw_adjustments(
+ self, ps: np.ndarray
+ ) -> tuple[pd.Series, pd.Series, int, int]:
+ """This estimator is discussed in Aronow and
+ Miller as the simplest of base form of
+ inverse propensity weighting schemes"""
+ X = pd.DataFrame(self.X, columns=self.labels)
+ X["ps"] = ps
+ X[self.outcome_variable] = self.y
+ t = self.t.flatten()
+ X["ps"] = np.where(t, X["ps"], 1 - X["ps"])
+ X["i_ps"] = 1 / X["ps"]
+ n_ntrt = n_trt = len(X)
+ outcome_trt = X[t == 1][self.outcome_variable]
+ outcome_ntrt = X[t == 0][self.outcome_variable]
+ i_propensity0 = X[t == 0]["i_ps"]
+ i_propensity1 = X[t == 1]["i_ps"]
+ weighted_outcome1 = outcome_trt * i_propensity1
+ weighted_outcome0 = outcome_ntrt * i_propensity0
+ return weighted_outcome0, weighted_outcome1, n_ntrt, n_trt
+
+ def make_overlap_adjustments(
+ self, ps: np.ndarray
+ ) -> tuple[pd.Series, pd.Series, pd.Series, pd.Series]:
+ """This weighting scheme was adapted from
+ Lucy D’Agostino McGowan's blog on
+ Propensity Score Weights referenced in
+ the primary CausalPy explainer notebook"""
+ X = pd.DataFrame(self.X, columns=self.labels)
+ X["ps"] = ps
+ X[self.outcome_variable] = self.y
+ t = self.t.flatten()
+ X["i_ps"] = np.where(t, (1 - X["ps"]) * t, X["ps"] * (1 - t))
+ n_ntrt = (1 - t[t == 0]) * X[t == 0]["i_ps"]
+ n_trt = t[t == 1] * X[t == 1]["i_ps"]
+ outcome_trt = X[t == 1][self.outcome_variable]
+ outcome_ntrt = X[t == 0][self.outcome_variable]
+ i_propensity0 = X[t == 0]["i_ps"]
+ i_propensity1 = X[t == 1]["i_ps"]
+ weighted_outcome1 = t[t == 1] * outcome_trt * i_propensity1
+ weighted_outcome0 = (1 - t[t == 0]) * outcome_ntrt * i_propensity0
+ return weighted_outcome0, weighted_outcome1, n_ntrt, n_trt
+
+ def make_doubly_robust_adjustment(
+ self, ps: np.ndarray
+ ) -> tuple[pd.Series, pd.Series, None, None]:
+ """The doubly robust weighting scheme is also
+ discussed in Aronow and Miller, but a bit more generally
+ than our implementation here. Here we have specified
+ the outcome model to be a simple OLS model.
+ In this way the compromise between the outcome model and
+ the propensity model is always done with OLS."""
+ X = pd.DataFrame(self.X, columns=self.labels)
+ X["ps"] = ps
+ t = self.t.flatten()
+ m0 = sk_lin_reg().fit(X[t == 0].astype(float), self.y[t == 0])
+ m1 = sk_lin_reg().fit(X[t == 1].astype(float), self.y[t == 1])
+ m0_pred = m0.predict(X)
+ m1_pred = m1.predict(X)
+ ## Compromise between outcome and treatment assignment model
+ weighted_outcome0 = (1 - t) * (self.y - m0_pred) / (1 - X["ps"]) + m0_pred
+ weighted_outcome1 = t * (self.y - m1_pred) / X["ps"] + m1_pred
+ return weighted_outcome0, weighted_outcome1, None, None
+
+ def get_ate(
+ self, i: int, idata: az.InferenceData, method: str = "doubly_robust"
+ ) -> list[float]:
+ ### Post processing the sample posterior distribution for propensity scores
+ ### One sample at a time.
+ ps = idata["posterior"]["p"].stack(z=("chain", "draw"))[:, i].values
+ if method == "robust":
+ (
+ weighted_outcome_ntrt,
+ weighted_outcome_trt,
+ n_ntrt,
+ n_trt,
+ ) = self.make_robust_adjustments(ps)
+ ntrt = weighted_outcome_ntrt.sum() / n_ntrt
+ trt = weighted_outcome_trt.sum() / n_trt
+ elif method == "raw":
+ (
+ weighted_outcome_ntrt,
+ weighted_outcome_trt,
+ n_ntrt,
+ n_trt,
+ ) = self.make_raw_adjustments(ps)
+ ntrt = weighted_outcome_ntrt.sum() / n_ntrt
+ trt = weighted_outcome_trt.sum() / n_trt
+ elif method == "overlap":
+ (
+ weighted_outcome_ntrt,
+ weighted_outcome_trt,
+ n_ntrt,
+ n_trt,
+ ) = self.make_overlap_adjustments(ps) # type: ignore[assignment]
+ ntrt = np.sum(weighted_outcome_ntrt) / np.sum(n_ntrt) # type: ignore[arg-type]
+ trt = np.sum(weighted_outcome_trt) / np.sum(n_trt) # type: ignore[arg-type]
+ else:
+ (
+ weighted_outcome_ntrt,
+ weighted_outcome_trt,
+ n_ntrt,
+ n_trt,
+ ) = self.make_doubly_robust_adjustment(ps) # type: ignore[assignment]
+ trt = np.mean(weighted_outcome_trt)
+ ntrt = np.mean(weighted_outcome_ntrt)
+ ate = trt - ntrt
+ return [ate, trt, ntrt]
+
+ def plot_ate(
+ self,
+ idata: az.InferenceData | None = None,
+ method: str | None = None,
+ prop_draws: int = 100,
+ ate_draws: int = 300,
+ ) -> tuple[plt.Figure, List[plt.Axes]]:
+ if idata is None:
+ idata = self.model.idata
+ if method is None:
+ method = self.weighting_scheme
+
+ def plot_weights(bins, top0, top1, ax, color="population"):
+ colors_dict = {
+ "population": ["orange", "skyblue", 0.6],
+ "pseudo_population": ["grey", "grey", 0.1],
+ }
+
+ ax.axhline(0, c="gray", linewidth=1)
+ bars0 = ax.bar(
+ bins[:-1] + 0.025,
+ top0,
+ width=0.04,
+ facecolor=colors_dict[color][0],
+ alpha=colors_dict[color][2],
+ )
+ bars1 = ax.bar(
+ bins[:-1] + 0.025,
+ -top1,
+ width=0.04,
+ facecolor=colors_dict[color][1],
+ alpha=colors_dict[color][2],
+ )
+
+ for bars in (bars0, bars1):
+ for bar in bars:
+ bar.set_edgecolor("black")
+
+ def make_hists(idata, i, axs, method=method):
+ p_i = az.extract(idata)["p"][:, i].values
+ if method == "raw":
+ weight0 = 1 / (1 - p_i[self.t.flatten() == 0])
+ weight1 = 1 / (p_i[self.t.flatten() == 1])
+ elif method == "overlap":
+ t = self.t.flatten()
+ weight1 = (1 - p_i[t == 1]) * t[t == 1]
+ weight0 = p_i[t == 0] * (1 - t[t == 0])
+ else:
+ t = self.t.flatten()
+ p_of_t = np.mean(t)
+ weight1 = p_of_t / p_i[t == 1]
+ weight0 = (1 - p_of_t) / (1 - p_i[t == 0])
+ bins = np.arange(0.025, 0.99, 0.005)
+ top0, _ = np.histogram(p_i[self.t.flatten() == 0], bins=bins)
+ top1, _ = np.histogram(p_i[self.t.flatten() == 1], bins=bins)
+ plot_weights(bins, top0, top1, axs[0])
+ top0, _ = np.histogram(
+ p_i[self.t.flatten() == 0], bins=bins, weights=weight0
+ )
+ top1, _ = np.histogram(
+ p_i[self.t.flatten() == 1], bins=bins, weights=weight1
+ )
+ plot_weights(bins, top0, top1, axs[0], color="pseudo_population")
+
+ mosaic = """AAAAAA
+ BBBBCC"""
+
+ fig, axs = plt.subplot_mosaic(mosaic, figsize=(20, 13))
+ axs = [axs[k] for k in axs.keys()]
+ axs[0].axvline(
+ 0.1, linestyle="--", label="Low Extreme Propensity Scores", color="black"
+ )
+ axs[0].axvline(
+ 0.9, linestyle="--", label="Hi Extreme Propensity Scores", color="black"
+ )
+ axs[0].set_title(
+ "Weighted and Unweighted Draws from the Posterior \n Propensity Scores Distribution",
+ fontsize=20,
+ )
+ axs[0].set_ylabel("Counts of Observations")
+ axs[0].set_xlabel("Propensity Scores")
+ custom_lines = [
+ Line2D([0], [0], color="skyblue", lw=2),
+ Line2D([0], [0], color="orange", lw=2),
+ Line2D([0], [0], color="grey", lw=2),
+ Line2D([0], [0], color="black", lw=2, linestyle="--"),
+ ]
+
+ axs[0].legend(
+ custom_lines,
+ ["Treatment PS", "Control PS", "Weighted Pseudo Population", "Extreme PS"],
+ )
+
+ [make_hists(idata, i, axs) for i in range(prop_draws)]
+ ate_df = pd.DataFrame(
+ [self.get_ate(i, idata, method=method) for i in range(ate_draws)],
+ columns=["ATE", "Y(1)", "Y(0)"],
+ )
+ axs[1].hist(
+ ate_df["Y(1)"],
+ label="E(Y(1))",
+ ec="black",
+ bins=10,
+ alpha=0.6,
+ color="skyblue",
+ )
+ axs[1].hist(
+ ate_df["Y(0)"],
+ label="E(Y(0))",
+ ec="black",
+ bins=10,
+ alpha=0.6,
+ color="orange",
+ )
+ axs[1].legend()
+ axs[1].set_xlabel(self.outcome_variable)
+ axs[1].set_title(
+ f"The Outcomes \n Under the {method} re-weighting scheme", fontsize=20
+ )
+ axs[2].hist(
+ ate_df["ATE"],
+ label="ATE",
+ ec="black",
+ bins=10,
+ color="grey",
+ alpha=0.6,
+ )
+ axs[2].set_xlabel("Difference")
+ axs[2].axvline(ate_df["ATE"].mean(), label="E(ATE)")
+ axs[2].legend()
+ axs[2].set_title("Average Treatment Effect", fontsize=20)
+
+ return fig, axs
+
+ def weighted_percentile(
+ self, data: np.ndarray, weights: np.ndarray, perc: float
+ ) -> float:
+ """
+ perc : percentile in [0-1]!
+ """
+ if not (0 <= perc <= 1):
+ raise ValueError("Percentile must be between 0 and 1.")
+ ix = np.argsort(data)
+ data = data[ix] # sort data
+ weights = weights[ix] # sort weights
+ cdf = (np.cumsum(weights) - 0.5 * weights) / np.sum(
+ weights
+ ) # 'like' a CDF function
+ return np.interp(perc, cdf, data)
+
+ def plot_balance_ecdf(
+ self,
+ covariate: str,
+ idata: az.InferenceData | None = None,
+ weighting_scheme: str | None = None,
+ ) -> tuple[plt.Figure, List[plt.Axes]]:
+ """
+ Plotting function takes a single covariate and shows the
+ differences in the ECDF between the treatment and control
+ groups before and after weighting. It provides a visual
+ check on the balance achieved by using the different weighting
+ schemes
+ """
+ if idata is None:
+ idata = self.model.idata
+ if weighting_scheme is None:
+ weighting_scheme = self.weighting_scheme
+
+ ps = az.extract(idata)["p"].mean(dim="sample").values
+ X = pd.DataFrame(self.X, columns=self.labels)
+ X["ps"] = ps
+ t = self.t.flatten()
+ if weighting_scheme == "raw":
+ w1 = 1 / ps[t == 1]
+ w0 = 1 / (1 - ps[t == 0])
+ elif weighting_scheme == "robust":
+ p_of_t = np.mean(t)
+ w1 = p_of_t / (ps[t == 1])
+ w0 = (1 - p_of_t) / (1 - ps[t == 0])
+ else:
+ w1 = (1 - ps[t == 1]) * t[t == 1]
+ w0 = ps[t == 0] * (1 - t[t == 0])
+ fig, axs = plt.subplots(1, 2, figsize=(20, 6))
+ raw_trt = [
+ self.weighted_percentile(
+ X[t == 1][covariate].values, np.ones(len(X[t == 1])), p
+ )
+ for p in np.linspace(0, 1, 1000)
+ ]
+ raw_ntrt = [
+ self.weighted_percentile(
+ X[t == 0][covariate].values, np.ones(len(X[t == 0])), p
+ )
+ for p in np.linspace(0, 1, 1000)
+ ]
+ w_trt = [
+ self.weighted_percentile(X[t == 1][covariate].values, w1, p)
+ for p in np.linspace(0, 1, 1000)
+ ]
+ w_ntrt = [
+ self.weighted_percentile(X[t == 0][covariate].values, w0, p)
+ for p in np.linspace(0, 1, 1000)
+ ]
+ axs[0].plot(
+ np.linspace(0, 1, 1000), raw_trt, color="skyblue", label="Raw Treated"
+ )
+ axs[0].plot(
+ np.linspace(0, 1, 1000), raw_ntrt, color="orange", label="Raw Control"
+ )
+ axs[0].set_title(f"ECDF \n Raw: {covariate}")
+ axs[1].set_title(
+ f"ECDF \n Weighted {weighting_scheme} adjustment for {covariate}"
+ )
+ axs[1].plot(
+ np.linspace(0, 1, 1000), w_trt, color="skyblue", label="Reweighted Treated"
+ )
+ axs[1].plot(
+ np.linspace(0, 1, 1000),
+ w_ntrt,
+ color="orange",
+ label="Reweighted Control",
+ )
+ axs[1].set_xlabel("Quantiles")
+ axs[0].set_xlabel("Quantiles")
+ axs[1].legend()
+ axs[0].legend()
+ # TODO: for some reason ax is type numpy.ndarray, so we need to convert this back to a list to conform to the expected return type.
+ return fig, list(axs)
diff --git a/causalpy/experiments/prepostnegd.py b/causalpy/experiments/prepostnegd.py
new file mode 100644
index 00000000..f67b0008
--- /dev/null
+++ b/causalpy/experiments/prepostnegd.py
@@ -0,0 +1,279 @@
+# Copyright 2022 - 2025 The PyMC Labs Developers
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""
+Pretest/posttest nonequivalent group design
+"""
+
+from typing import List
+
+import arviz as az
+import numpy as np
+import pandas as pd
+import seaborn as sns
+import xarray as xr
+from matplotlib import pyplot as plt
+from patsy import build_design_matrices, dmatrices
+from sklearn.base import RegressorMixin
+
+from causalpy.custom_exceptions import (
+ DataException,
+)
+from causalpy.plot_utils import plot_xY
+from causalpy.pymc_models import PyMCModel
+from causalpy.utils import _is_variable_dummy_coded, round_num
+
+from .base import BaseExperiment
+
+LEGEND_FONT_SIZE = 12
+
+
+class PrePostNEGD(BaseExperiment):
+ """
+ A class to analyse data from pretest/posttest designs
+
+ :param data:
+ A pandas dataframe
+ :param formula:
+ A statistical model formula
+ :param group_variable_name:
+ Name of the column in data for the group variable, should be either
+ binary or boolean
+ :param pretreatment_variable_name:
+ Name of the column in data for the pretreatment variable
+ :param model:
+ A PyMC model
+
+ Example
+ --------
+ >>> import causalpy as cp
+ >>> df = cp.load_data("anova1")
+ >>> seed = 42
+ >>> result = cp.PrePostNEGD(
+ ... df,
+ ... formula="post ~ 1 + C(group) + pre",
+ ... group_variable_name="group",
+ ... pretreatment_variable_name="pre",
+ ... model=cp.pymc_models.LinearRegression(
+ ... sample_kwargs={
+ ... "target_accept": 0.95,
+ ... "random_seed": seed,
+ ... "progressbar": False,
+ ... }
+ ... ),
+ ... )
+ >>> result.summary(round_to=1) # doctest: +SKIP
+ ==================Pretest/posttest Nonequivalent Group Design===================
+ Formula: post ~ 1 + C(group) + pre
+ | \n", + " | month | \n", + "year | \n", + "t | \n", + "y | \n", + "
|---|---|---|---|---|
| date | \n", + "\n", + " | \n", + " | \n", + " | \n", + " |
| 2010-01-31 | \n", + "1 | \n", + "2010 | \n", + "0 | \n", + "25.058186 | \n", + "
| 2010-02-28 | \n", + "2 | \n", + "2010 | \n", + "1 | \n", + "27.189812 | \n", + "
| 2010-03-31 | \n", + "3 | \n", + "2010 | \n", + "2 | \n", + "26.487551 | \n", + "
| 2010-04-30 | \n", + "4 | \n", + "2010 | \n", + "3 | \n", + "31.241716 | \n", + "
| 2010-05-31 | \n", + "5 | \n", + "2010 | \n", + "4 | \n", + "40.753973 | \n", + "
<xarray.DataArray (treated_units: 1, chain: 4, draw: 1000, obs_ind: 36)> Size: 1MB\n", + "array([[[[-5.72659382, -0.10092916, -2.86050005, ..., 5.25595254,\n", + " -4.36738416, -2.31219957],\n", + " [-5.16864292, -0.0945016 , -2.70388234, ..., 4.29882281,\n", + " -4.25587666, -0.55305645],\n", + " [-4.80003893, 1.62601354, -2.18027951, ..., 7.58591965,\n", + " -4.63689198, -1.50412193],\n", + " ...,\n", + " [-2.73112244, 3.20199339, -0.40790439, ..., 6.26364765,\n", + " -2.59558554, 1.39833605],\n", + " [-3.38827134, 1.17193357, -1.25445663, ..., 8.1280746 ,\n", + " -2.31385183, -0.64705147],\n", + " [-3.59235777, 0.09698371, -2.6054226 , ..., 7.76303725,\n", + " -3.11679467, -0.68421717]],\n", + "\n", + " [[-2.97244814, 1.3379474 , -1.5925681 , ..., 7.41583327,\n", + " -2.54928994, 0.49647946],\n", + " [-3.11513594, 1.91791959, -1.88703897, ..., 8.33524879,\n", + " -2.81926692, -0.31502565],\n", + " [-3.60128726, 1.74600685, -1.8266048 , ..., 7.71060782,\n", + " -3.09061143, -0.70461165],\n", + "...\n", + " [-4.12835928, 1.36958423, -3.76183772, ..., 4.55610018,\n", + " -5.01565733, 0.06362173],\n", + " [-3.73796998, 1.06785726, -2.58904251, ..., 4.86337932,\n", + " -4.08948458, -0.72545481],\n", + " [-3.53732144, 0.40176328, -1.84356611, ..., 6.15329392,\n", + " -4.16113314, -0.01672634]],\n", + "\n", + " [[-2.96137194, 0.84240171, -1.87565294, ..., 7.28722033,\n", + " -4.98421276, -0.59433739],\n", + " [-3.01775372, 1.85351362, -2.45489368, ..., 7.82147084,\n", + " -5.18726787, -0.60533007],\n", + " [-2.30305596, 0.61858399, -1.39950187, ..., 7.04504253,\n", + " -3.76870751, 0.15744381],\n", + " ...,\n", + " [-4.12341298, -0.62278601, -1.5149182 , ..., 6.41955092,\n", + " -4.44846769, -0.82446218],\n", + " [-4.45745814, 2.25132196, -3.2301098 , ..., 6.97528037,\n", + " -3.42740231, -0.82646015],\n", + " [-4.78599889, 0.35886872, -1.43863114, ..., 6.23550042,\n", + " -4.94201186, 0.27107651]]]], shape=(1, 4, 1000, 36))\n", + "Coordinates:\n", + " * treated_units (treated_units) <U6 24B 'unit_0'\n", + " * chain (chain) int64 32B 0 1 2 3\n", + " * draw (draw) int64 8kB 0 1 2 3 4 5 6 ... 994 995 996 997 998 999\n", + " * obs_ind (obs_ind) datetime64[ns] 288B 2017-01-31 ... 2019-12-31
| \n", + " | mean | \n", + "sd | \n", + "hdi_3% | \n", + "hdi_97% | \n", + "
|---|---|---|---|---|
| x[unit_0] | \n", + "66.991 | \n", + "20.738 | \n", + "27.727 | \n", + "105.841 | \n", + "
| \n", + " | mean | \n", + "sd | \n", + "hdi_3% | \n", + "hdi_97% | \n", + "
|---|---|---|---|---|
| x[unit_0] | \n", + "1.861 | \n", + "0.576 | \n", + "0.77 | \n", + "2.94 | \n", + "
| \n", + " | mean | \n", + "median | \n", + "hdi_lower | \n", + "hdi_upper | \n", + "p_gt_0 | \n", + "relative_mean | \n", + "relative_hdi_lower | \n", + "relative_hdi_upper | \n", + "
|---|---|---|---|---|---|---|---|---|
| average | \n", + "1.860858 | \n", + "1.868520 | \n", + "0.778658 | \n", + "3.043463 | \n", + "0.99925 | \n", + "3.376873 | \n", + "1.366049 | \n", + "5.608768 | \n", + "
| cumulative | \n", + "66.990878 | \n", + "67.266719 | \n", + "28.031705 | \n", + "109.564651 | \n", + "0.99925 | \n", + "3.376873 | \n", + "1.366049 | \n", + "5.608768 | \n", + "
| \n", + " | mean | \n", + "median | \n", + "hdi_lower | \n", + "hdi_upper | \n", + "p_two_sided | \n", + "prob_of_effect | \n", + "relative_mean | \n", + "relative_hdi_lower | \n", + "relative_hdi_upper | \n", + "
|---|---|---|---|---|---|---|---|---|---|
| average | \n", + "-1.552748 | \n", + "-1.540376 | \n", + "-2.553544 | \n", + "-0.512190 | \n", + "0.001 | \n", + "0.999 | \n", + "-3.133531 | \n", + "-5.148884 | \n", + "-1.146649 | \n", + "
| cumulative | \n", + "-9.316491 | \n", + "-9.242256 | \n", + "-15.321264 | \n", + "-3.073139 | \n", + "0.001 | \n", + "0.999 | \n", + "-3.133531 | \n", + "-5.148884 | \n", + "-1.146649 | \n", + "
Model Requirements \n", + " \n", + " Variable Shape Constraints Dimensions \n", + " ────────────────────────────────────────────────────────────────────────────────── \n", + " initial_level_trend (3,) ('state_level_trend',) \n", + " sigma_level_trend (3,) Positive ('shock_level_trend',) \n", + " params_freq (11,) ('state_freq',) \n", + " sigma_freq () Positive None \n", + " P0 (15, 15) Positive semi-definite ('state', 'state_aux') \n", + " \n", + "These parameters should be assigned priors inside a PyMC model block before calling \n", + " the build_statespace_graph method. \n", + "\n" + ], + "text/plain": [ + "\u001b[3m Model Requirements \u001b[0m\n", + " \n", + " \u001b[1m \u001b[0m\u001b[1mVariable \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mShape \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1mConstraints \u001b[0m\u001b[1m \u001b[0m \u001b[1m \u001b[0m\u001b[1m Dimensions\u001b[0m\u001b[1m \u001b[0m \n", + " ────────────────────────────────────────────────────────────────────────────────── \n", + " initial_level_trend \u001b[1m(\u001b[0m\u001b[1;36m3\u001b[0m,\u001b[1m)\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'state_level_trend'\u001b[0m,\u001b[1m)\u001b[0m \n", + " sigma_level_trend \u001b[1m(\u001b[0m\u001b[1;36m3\u001b[0m,\u001b[1m)\u001b[0m Positive \u001b[1m(\u001b[0m\u001b[32m'shock_level_trend'\u001b[0m,\u001b[1m)\u001b[0m \n", + " params_freq \u001b[1m(\u001b[0m\u001b[1;36m11\u001b[0m,\u001b[1m)\u001b[0m \u001b[1m(\u001b[0m\u001b[32m'state_freq'\u001b[0m,\u001b[1m)\u001b[0m \n", + " sigma_freq \u001b[1m(\u001b[0m\u001b[1m)\u001b[0m Positive \u001b[3;35mNone\u001b[0m \n", + " P0 \u001b[1m(\u001b[0m\u001b[1;36m15\u001b[0m, \u001b[1;36m15\u001b[0m\u001b[1m)\u001b[0m Positive semi-definite \u001b[1m(\u001b[0m\u001b[32m'state'\u001b[0m, \u001b[32m'state_aux'\u001b[0m\u001b[1m)\u001b[0m \n", + " \n", + "\u001b[2;3mThese parameters should be assigned priors inside a PyMC model block before calling \u001b[0m\n", + "\u001b[2;3m the build_statespace_graph method. \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/anaconda3/envs/CausalPy/lib/python3.13/site-packages/pymc_extras/statespace/utils/data_tools.py:92: UserWarning: No frequency was specific on the data's DateTimeIndex.\n", + " warnings.warn(NO_FREQ_INFO_WARNING)\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "
Sampler Progress
\n", + "Total Chains: 6
\n", + "Active Chains: 0
\n", + "\n", + " Finished Chains:\n", + " 6\n", + "
\n", + "Sampling for 25 seconds
\n", + "\n", + " Estimated Time to Completion:\n", + " now\n", + "
\n", + "\n", + " \n", + "| Progress | \n", + "Draws | \n", + "Divergences | \n", + "Step Size | \n", + "Gradients/Draw | \n", + "
|---|---|---|---|---|
| \n", + " \n", + " | \n", + "1000 | \n", + "0 | \n", + "0.32 | \n", + "15 | \n", + "
| \n", + " \n", + " | \n", + "1000 | \n", + "0 | \n", + "0.34 | \n", + "15 | \n", + "
| \n", + " \n", + " | \n", + "1000 | \n", + "0 | \n", + "0.35 | \n", + "15 | \n", + "
| \n", + " \n", + " | \n", + "1000 | \n", + "0 | \n", + "0.29 | \n", + "15 | \n", + "
| \n", + " \n", + " | \n", + "1000 | \n", + "0 | \n", + "0.32 | \n", + "15 | \n", + "
| \n", + " \n", + " | \n", + "1000 | \n", + "0 | \n", + "0.29 | \n", + "15 | \n", + "